python字典迭代
1. python 2.7 字典迭代期間改變字典成員個數的疑問
因為可迭代對象如果在迭代過程中長度發生了變化,就會引發 Runtime Error ,所以在 for k in some_dict: 這樣內的語句中,是容不可以使用 .pop() 或 .update() 方法的。
除非明確知道這次操作中不會增刪被迭代對象的元素,否則應該先把對象的 keys 拿出來放到另一個對象里(keys() 方法返回的列表),以避免上面的異常。
但在 Python3 中, keys() 不再返回列表,而是被迭代對象的 dict_keys 屬性,所以這招行不通了。可以考慮 list 轉換、待迭代結束後再 pop 或者使用字典推導式。
2. python如何遍歷多鍵值的字典並使用對應鍵的值來替換
dict = {('絲印兩處', '絲印二處', '絲印兩道', '絲印二道', '絲印2道'): '絲印2處', ('絲印三處', '絲印三道', '絲印3道'): '絲印3處'}
ss = ["黑色MI0000C-BK002 含三道絲印", "黑色MI0000C-BK002 含絲印三道", "黑色MI0000C-BK002 含3道絲印"]
for s in ss:
for k, v in dict.items():
for src in k:
s = s.replace(src, v)
print(s)
注意:你的dict不足以涵蓋你的輸入,所以只有中間那句是替換了
3. 我怎麼才能把python的字典裡面的數據按照原始順序遍歷出來
字典不記錄順序。
你可以另外建一個列表
keys=[]
在構建字典的同時把鍵填到這個key中
dic[1234]="你好"
keys.append(1234)
取字典的時候用keys里的有順序的鍵
print(dic[keys[0]])
print(dic[keys[1]])
4. python 怎樣同時遍歷兩個字典
這個問題問的好!
如果長度相同的dict直接用zip函數即可同時for
如果長度不同,可以先把這兩個dict整合進一個list再for
5. Python如何遍歷另一個py文件中的字典
from a import dict 最好把a.py放b.py旁邊
for k in dict:
print(k)
print(dict[k])
6. python 字典是可迭代對象嗎
dict中鍵只有在值和類型完全相同的時候才視為一個鍵:
mydict
=
{1:1,'1':1}
#此時mydict[1]
與
mydict['1']是兩個不同的鍵值
dict的一些常用方法:
clear():
#清空字典():
#淺復制字典.deep():
#深復制get('xx',
'return'):
#訪問元素不存在時返回none,或者手動指定返回值has_key():
#檢查字典中是否含有鍵,相當於
in
關鍵字items():
#將字典以列表[(k,v),(k,v)]的形式返回iteritem():
#類似items,但返回的是迭代器對象keys():
#返回包含所有鍵的listiterkeys():
#返回包含所有鍵的迭代器對象values():
#同keysitervalues():
#同iterkeyspop('x'):
#移除鍵值對並返回其值popitem():
#隨機移除一個鍵值對並返回其值update(otherdict):
#
7. python中遍歷字典,指定鍵不遍歷
把這個字典的值當作鍵,鍵當作值賦在一個新的字典中,在逐個賦值的過程中判斷,按這個思路就有很多種方法了。
8. 軟體測試中,python字典遍歷的幾種方法
在python2.2之前,還只能用beys等字典方法來獲取鍵(因為不允許直接迭代字典)。
如果只需要值,可以使用d.values代替d.keys。
9. python字典遍歷
沒有這樣的字典格式。。。。
兩種解決思路
json格式保存
自己創建對象保存