x={'a':'1'}
key,value=https://bbs.csdn.net/topics/x.items()
結果報錯:ValueError: not enough values to unpack (expected 2, got 1)
x={'a':'1'}
for key,value in x.items():
print(key,value)
結果未報錯:a 1
為什么作為可迭代物件的字典視圖,可以在回圈中分別將鍵和值賦給key與value變數,但確不能直接解包并將值賦給key與value變數呢?
uj5u.com熱心網友回復:
ddddddduj5u.com熱心網友回復:
懂了:序列解包可以用于元組、串列、字典。序列解包可以讓我們方便的對多個變數賦值。
x,y,z=(10,20,30)
print(x) #結果:10
print(y) #結果:20
print(z) #結果:30
(a,b,c)=(40,50,60)
print(a) #結果:40
print(b) #結果:50
print(c) #結果:60
[q,w,e]=[70,80,90]
print(q) #結果:70
print(w) #結果:80
print(e) #結果:90
序列解包用于字典時,默認是對“鍵”進行操作;
如果需要對鍵值對操作,則需要使用items();
如果需要對"值"進行操作,則需要使用values();
s = {'name':'gaoqi','age':18,'job':'teacher'}
a,b,c=s #默認是將鍵作為變數值賦值給多個變數
print(a) #結果:job
print(b) #結果:age
print(c) #結果:name
a,b,c=s.values() #將"值"作為變數值賦值給多個變數
print(a) #結果:gaoqi
print(b) #結果:18
print(c) #結果:teacher
a,b,c=s.items() #將"鍵/值"作為變數值賦值給多個變數
print(a) #結果:('name', 'gaoqi')
print(b) #結果:('age', 18)
print(c) #結果:('job', 'teacher')
print(a[0]) #結果:name,再通過元組的索引訪問方式獲取每個值
print(a[1]) #結果:gaoqi
上述內容來自于:https://blog.csdn.net/u014612521/article/details/100520899?utm_medium=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v28-5.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v28-5.nonecase
uj5u.com熱心網友回復:
學習了。x={'a':'1'}
key,value=https://bbs.csdn.net/topics/x.keys(),x.values()
uj5u.com熱心網友回復:
x.items()回傳的是一個視圖物件,沒法賦值給兩個不同的變數呀可以這么寫:
x
{'a': 1}
>>> key,value = tuple(x.items())[0]
>>> key,value
('a', 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225682.html
