您的位置:首页 > 编程语言 > Python开发

Python -- 字符串 列表 元组 字典

2016-05-23 22:27 876 查看
小Q浪花有意千重雪桃李无言一队春一壶酒一竿纶世上如侬有几人。 ---李煜《渔歌子》
---------------------------------------------------------------------------------------
序列 是Python中最基本的数据结构。序列中每一个元素的位置都有其对应数字编码或索引比如第一个元素的编码是0第二个元素的索引是1.............
序列中可进行的操作索引、切片、加、乘、检查成员另外的长度、最大最小值等内建函数
Python 中有6个序列的内置类型列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。
字符串===========================================================

字符串是Pyhton中最常用的数据类型可用单或双引号创建。如下

var1 = ‘hello world’
var2 = “python runoob”
print "var1[0]:",var1[0]       >>>>>    var1[0]: h
print "var2[1:3]",var2[1:3]     >>>>>   var2[1:3]: yth
字 符 串 更 新

#!/usr/bin/python
# -*- coding: UTF-8 -*-
var1 = 'Hello World!'
print "更新字符串 :- ", var1[:6] + 'Runoob!'

>>>>>  更新字符串 :-  Hello Runoob!
Python 转义字符需使用特殊字符时用反斜杠转义。
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数yy代表的字符例如\o12代表换行
\xyy 十六进制数yy代表的字符例如\x0a代表换行
\other 其它的字符以普通格式输出
Python 字符串运算符+、*、[]、[:]、in、not in、r/R、%举例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = "Hello"
b = "Python"
print "a + b 输出结果", a + b
print "a * 2 输出结果", a * 2
print "a[1] 输出结果", a[1]
print "a[1:4] 输出结果", a[1:4]
if( "H" in a) :
print "H 在变量 a 中"
else :
print "H 不在变量 a 中"
if( "M" not in a) :
print "M 不在变量 a 中"
else :
print "M 在变量 a 中"
print r'\n'
print R'\n'

>>>>>
a + b 输出结果 HelloPython
a * 2 输出结果 HelloHello
a[1] 输出结果 e
a[1:4] 输出结果 ell
H 在变量 a 中
M 不在变量 a 中
\n
\n
Pythoh 字符串格式化%举例

print “my name is %s and weight is %d kg ”  %  ‘teng’,60
>>>>> my name is teng and weight is 60 kg
符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数大写
%f 格式化浮点数字可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址



Unicode 字 符 串

u'Hello World !'      >>>>> u'Hello World !'
引号前小写的"u"表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符可以使用 Python 的 Unicode-Escape 编码。如下例所示

u'Hello\u0020World !'   >>>>>  u'Hello World !'
此时的\u0020表示编码值为 0x0020 的 Unicode 字符空格符。
列表===========================================================
格式var=['teng', 'c', 1997, 20002]
举 例

#!/usr/bin/python
list = [1, 2, 3, 5, 6, 'a', 'abc'];
print  list[0]
print "list[-2]" list[-2]
print "list[1:4]: ", list[1:4]
print "list[1: ]", list[1: ]
print "list[-5:-1]:",list[-5:-1]
>>>>>>
1
list[-2]: a
list[1:4]: [ 2,3,4]
list[1: ]: [ 2, 3, 5, 6, a, 'abc' ]
list[-5:-1]:[3, 5, 6, 'a']
更新 删除 列表元素

#!/usr/bin/python
list = ['physics', 'chemistry', 1997, 2000];

print "Value available at index 2 : "
print list[2];

list[2] = 2001;
print list[2];

del list[2];
print "After deleting value at index 2 : " list
>>>>>>
Value available at index 2 :
1997
2001
After deleting value at index 2 :['physics', 'chemistry', 2000]
列表 操作符 函数 及 方法






序号方法
1list.append(obj)
在列表末尾添加新的对象
2list.count(obj)
统计某个元素在列表中出现的次数
3list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值用新列表扩展原来的列表
4list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj)
将对象插入列表
6list.pop(obj=list[-1])
移除列表中的一个元素默认最后一个元素并且返回该元素的值
7list.remove(obj)
移除列表中某个值的第一个匹配项
8list.reverse()
反向列表中元素
9list.sort([func])
对原列表进行排序
元组===========================================================
Python的元组与列表类似不同之处是其元素不能修改并且使用的是小括号。
举 例

#!/usr/bin/python
tup = (1, 2, 3, 444, ‘a’, ‘tom’,  ‘+’);

print tup[2]
print tup[-3]
print "tup[1: ]: ", tup[1:5]
print "tup[-6:-2]: ", tup[-6:-2]

>>>>>>
3
a
tup[1: ]: (2, 3, 444, 'a', ‘tom’,  ‘+’)
tup[-6:-2]: (2, 3, 444, 'a')
修改 删除 元素
元组中的元素是不允许修改的但可以对元组进行连接组合

#!/usr/bin/python
# -*- coding: UTF-8 -*-
tup1 = (12, 34.56);
tup2 = ('abc', 'x');

# 以下修改元组元素操作是非法的。
# tup1[0] = 100;

# 创建一个新的元组
tup3 = tup1 + tup2;
print tup3;

>>>>>>
(12, 34.56, 'abc', 'x')
元组中的元素是不允许删除的但可以使用del语句来删除整个元组删除元组后当再打印元组会有报错信息。

#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : "
print tup;
元组 运算符 内置函数 及 方法







元组的内置方法可以在ipython中tab出来例如
tup.count(元素)
tup.index(元素)...........................................
特殊 分隔符
任意无符号的对象以逗号隔开默认为元组如下实例

#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;
>>>>>>
abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
字典===========================================================
字典是另一种可变容器模型且可存储任意类型对象。
每个键值对用(:)分割每个对之间用(,)分割整个字典包括在花括号({})中
键必须是唯一值可不唯一
值可取任意数据类型但键必须固定不可变。

格式 d = {key1 : value1, key2 : value2 }
举 例

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print  dict['Name'];
print "dict['Age']: ", dict['Age'];
print "dict['Alice']: ", dict['Alice'];

>>>>>>>
Zara
dict['Age']:  7
dict['Zara']:

Traceback (most recent call last):
File "test.py", line 4, in <module>
print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'
修改 删除 字典元素

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age'] = 8;   # update existing entry
dict['School'] = "DPS School"; # Add new entry

print  dict
print  dict['Age'];
print "dict['School']: ", dict['School'];

del dict['Name']; # 删除键是'Name'的条目
dict.clear();     # 清空词典所有条目
del dict ;        # 删除词典

print dict['Age'];

>>>>>>>>
{'School': 'DPS School', 'Age': 8, 'Name': 'Zara', 'Class': 'First'}
8
dict['School']:  DPS School

删除字典后再输出会报错因为字典已不存在
dict['Age']:
Traceback (most recent call last):
File "test.py", line 8, in <module>
print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
字典 内置函数 及 方法



序号函数及描述
1radiansdict.clear()
删除字典内所有元素
2radiansdict.copy()
返回一个字典的浅复制
3radiansdict.fromkeys()
创建一个新字典以序列seq中元素做字典的键val为字典所有键对应的初始值
4radiansdict.get(key, default=None)
返回指定键的值如果值不在字典中返回default值
5radiansdict.has_key(key)
如果键在字典dict里返回true否则返回false
6radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
7radiansdict.keys()
以列表返回一个字典所有的键
8radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中将会添加键并将值设为default
9radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10radiansdict.values()
以列表返回字典中的所有值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符串 python 序列