一、元组与其他数据结构的相互转换:
1.字符串转换为元组:
v='dfsfdsff' x=tuple(v) print(x) #结果:('d', 'f', 's', 'f', 'd', 's', 'f', 'f')——类似于for循环
2.列表转换为元组:
v=[123,'dfd',5332] x=tuple(v) print(x) #结果输出:(123, 'dfd', 5332)
补充:join用法:
连接的不可以有数字!
v1=(123,'dfd',5332) v2=(123,5332) v3=('sdfs','dasd') # x1="_".join(v1) x2="-".join(v2) # x3="-".join(v3) print(x2) #输出结果:报错!!!!
v3=('sdfs','dasd') x3="-".join(v3) print(x3) #输出结果:sdfs-dasd
3.补充:extend的用法
v=['sfsfs','adasxds'] v.extend('sfsfs') print(v) #输出结果: #['sfsfs', 'adasxds', 's', 'f', 's', 'f', 's']
v=['sfsfs','adasxds'] v.extend(['fsfs',123]) print(v) #输出结果: #['sfsfs', 'adasxds', 'fsfs', 123]
v=['sfsfs','adasxds'] v.extend((111,222,'fsggssfssss',)) print(v) #输出结果: #['sfsfs', 'adasxds', 111, 222, 'fsggssfssss']
上述可知:元组,列表是可迭代对象。
小练习:对于v=('sfsrf',222,[(33,22)],'sdsfdf')。
(1)试获取:v=('sfsrf',222,[(33,22)],'sdsfdf')中的33
答案:
v=('sfsrf',222,[(33,22)],'sdsfdf') x=v[2][0][0] print(x)
(2)尝试对于它将[(33,22)]修改为[(33,22,55)]
思路:元组 的一级元素不可修改,即'sfsrf','222','sdsfdf'均不可修改,而[(33,22)]是列表,因为列表是可以对其中的元素进行修改的。也就是说。可以将(33,22)进行修改。
因此:
v=('sfsrf',222,[(33,22)],'sdsfdf') x=v[2][0]=267 print(v) #输出结果: #('sfsrf', 222, [267], 'sdsfdf')
#而如果是v[2]=267则会报错!
二、字典
例:
1 info={ 2 'k1':18, 3 'k2':True, 4 'k3':[ 5 11, 6 22, 7 33, 8 { 9 'kk1':'vv1', 10 'kk2':'vv2', 11 'kk3':(11,22) 12 } 13 ], 14 'k4':(11,22,33,44) 15 } 16 print(info) 17 18 #输出结果:{'k4': (11, 22, 33, 44), 'k3': [11, 22, 33, {'kk3': (11, 22), 'kk2': 'vv2', 'kk1': 'vv1'}], 'k2': True, 'k1': 18}——顺序是反的!! 19 # v(键值对的“值”)可以是任意数据类型!
v(键值对的“值”)可以是任意数据类型!
info={ 1:'fsdfs', 'sfg':'dfd', # [123,222]:'fg', True:'DFG', (123,456):'dafds' } print(info) #输出结果:{(123, 456): 'dafds', 1: 'DFG', 'sfg': 'dfd'}而且再次单击播放按钮还会变换顺序,所以——字典的顺序是不定的!!!!!
k(键值对的“键”)可以是非列表,字典的任意数据类型!
注意:上面的例子里面,因为TURE=1,而字典里面不允许有重复的值,所以TURE没有显示出来!
例:对于下列字典:
1 info={
2 'k1':18,
3 'k2':True,
4 'k3':[
5 11,
6 22,
7 33,
8 {
9 'kk1':'vv1',
10 'kk2':'vv2',
11 'kk3':(11,22)
12 }
13 ],
14 'k4':(11,22,33,44)
15 }
(1)找到其中标绿的11
答案:
v = info['k3'][3]['kk3'][0]
(2)删掉标橙色的内容
答案:del info['k3'][3]['kk1']在删除字典的键值对的时候,可以用k代表v
(3)将上述的字典的所有键鼠对一一列出:
答案:
法一:
for item in info.keys():
# print(item)
print(item,info[item])
法二:
for k,v in info.items():
print(k,v)