Python程序设计 第二章python元组

1.元组的概念

元组:轻量级列表,不可变序列,形式类似于列表,区别在于元组的所有元素放在一对括号中,而不是方括号中

2.元组的创建

a=('a','b','c','d')

x=()    #空元组

#使用 tuple()函数将列表,字符串,字典,集合,map对象等其他类型可迭代对象转换成元组

print(tuple('abcdefg'))

('a','b','c','d','e','f','g')

s=tuple()    #空元组

3.元组的删除

只能使用del命令删除整个元组对象(不可变序列)

4.元组与列表的区别

1)列表是可变序列,元组是不可变序列

2)元组无法像列表一样 使用pop(),remove(),append(),extend(),insert()方法 (无法增删改)

3)元组的访问和处理速度比列表快

4)元组从内部实现上不允许修改元素值,从而使代码更安全

5)元组可以作为字典的键,列表不能

6)从效果上看,tuple()冻结列表(可变→不可变),alist()融化列表(不可变→可变)

5.元组的特例

#虽然元组属于不可变序列,其元素的值是不可变,但如果元祖包含可变序列,情况就略有不同

x=([1,2],3)

x[0][0]=5

>>>x

([5,2],3)

x[0].append(8)    #添加

>>>x

([5,2,8],3)

 

a=(1,2)

b=(3,4)

>>>a+b

(1,2,3,4)    #拼接

>>>a*5=(1,2,1,2,1,2,1,2,1,2)    #重复五遍

a.count(2)    #计数,可使用,2的个数

a.index(1)    #返回1第一次出现的位置  适用

6.序列解包

1)大幅度提高代码可读性,减少程序员的代码输入值。例如,可使用序列解包功能对多个变量同时进行赋值

x,y,z=1,2,3

2)序列解包也可以用于列表和字典

对字典 默认是对键进行操作,若需要对键:值进行操作,则需要使用items()方法,若对值进行操作,则需要使用values(方法)

例:

a=[1,2,3]

b,c,d=a

s={'a':1,'b':2,'c':3}

b,c,d=s.items()

b,c,d=s

b,c,d=s.values()

a,b=b,a

3)使用序列解包可以方便地同时遍历多个序列

keys=['a','b','c']

values=[1,2,3]

for k,v in zip(keys,values):

  print(k,v)

>>>a 1

b 2

c 3

 

上一篇:【Python入门级教程】列表、元组、字典浅谈


下一篇:python中list, tuple, dictionary, set的底层细节