2018.12.9——元組、字典
阿新 • • 發佈:2018-12-10
一、元組與其他資料結構的相互轉換:
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)