pythonifin字典
㈠ python如何無限遍歷字典中的value,在不知道字典裡面有幾層字典的時候
遞歸。
用這個函數把dict裡面的所有value用遞歸的方法提取到一個空list裡面
defdict2flatlist(d,l):
print(d)
forxind.keys():
iftype(d[x])==dict:
dict2flatlist(d[x],l)
else:
l.append(d[x])
d={1:"a",2:"b",3:{4:"c",5:"d",6:{7:"e"}},8:"f"}
l=[]
dict2flatlist(d,l)
print(l)
希望對你有幫助
㈡ python判斷是否滿足條件然後選擇字典中的鍵
people={
'喬峰':{
'絕技':'降龍十八掌',
'門派':'丐幫'
},
'張無忌':{
'絕技':'乾坤大挪移',
'門派':'明教'
},
'令狐沖':{
'絕技':'獨孤九劍',
'門派':'華山派'
},
}
labels={
'絕技':'行走江湖的絕技',
'門派':'所在的門派'
}
name=input("輸入大俠的名字:")
r=input("請選擇大俠的絕技:q,或者門派:a:")
ifr=='q':
y='絕技'
ifr=='a':
y='門派'
ifnameinpeople:
print("{}大俠{}是{}.".format(name,labels[y],people[name][y]))
#輸入大俠的名字:張無忌
#請選擇大俠的絕技:q,或者門派:a:q
#張無忌大俠行走江湖的絕技是乾坤大挪移.
㈢ python如何給字典的鍵對應的值為字典項的字
importjson
importcodecs
importsys
reload(sys)
sys.setdefaultencoding('utf8')
defFormat_data():
HY_Info=Search_HYInfo()
ChildNodes=Search_ChildNodes()
print'開始格式化數據'
HY_Nodes=[]
forHY_idinChildNodes.keys():
HY_Node={}
HY_Node['id']=HY_id
ifHY_idinHY_Info.keys():
HY_Node['text']=HY_Info[HY_id].decode('gbk')+'('+str(HY_id)+')'
else:
HY_Node['text']='--'
printHY_Node['text']
HY_Node['children']=[]
forchild_idinChildNodes[HY_id]:
child_Node={}
child_Node['id']=child_id
ifchild_idinHY_Info.keys():
child_Node['text']=HY_Info[child_id].decode('gbk')+'('+str(child_id)+')'
else:
child_Node['text']='--'
ifchild_idinChildNodes.keys():
child_Node['children']=True
else:
child_Node['children']=False
HY_Node['children'].append(child_Node)
HY_Nodes.append(HY_Node)
json_data=json.mps(HY_Nodes,ensure_ascii=False,encoding="gb2312")
withcodecs.open('./data/Parents_leves.json',"wb","utf-8")asf:
f.write(json_data)
㈣ python 檢測字典是否含有某個鍵值
同志,你這是字典嗎?有一個函數,你可以試試,是版找出字典中的鍵值。權 dit= {'a': 5, 'b': 6, 'c': 7} def sub_dict_select(somedict, somekeys): return dict([ (k, somedict[k]) for k in somekeys if k in somedict]) sub_dict_select
㈤ Python用字典功能
該省份所在的城市?
應該是該省份所有的城市吧
city={'上海':['奉賢','浦東']}
key='上海'
print(city.get(key))#['奉賢','浦東']
key='奉賢'
fork,vincity.items():
ifkeyinv:
print(k)#上海
㈥ python 判斷多個鍵值是否都在一個字典里
foo={"foo":1,"bar":2}
ifall(kinfooforkin("foo","bar")):
print("They'rethere!")
㈦ python如何判斷字典key是否包含字元k
python判斷字典key是否包含字元k的方法:
使用「if 'k' in di.keys()」判斷字典中的所有key是否包含字元k,如果包含則輸出這個key
執行結果如下:
更多Python知識,請關註:Python自學網!!
㈧ python怎樣獲取字典中前十個
由於字典長,我將前10個改為前5個,你只需要將,我回答中的4改為9就行。
例如字典
a={'the': 958035, 'of': 536684, 'and': 375233, 'one': 371796, 'in': 335503, 'a': 292250, 'to': 285093, 'zero': 235406, 'nine': 224705}
一:只想看看元素。如果字典很長,只想看前5個,可以先變成list,再取索引來看。利用了字典的items方法。
print(list(vocab.items())[:5]) # 先items取元素,再轉list,再切片取前5,最後print輸出
輸出為[('the', 958035), ('of', 536684), ('and', 375233), ('one', 371796), ('in', 335503)]
二。要獲取前5個元素。遍歷字典:
for i,(k,v) in enumerate(a.items()):
print({k:v},end="")
if i==4:
print()
break
輸出:{'the': 958035}{'of': 536684}{'and': 375233}{'one': 371796}{'in': 335503}
三。保持原來字典樣式,取前5個元素。
a={'the': 958035, 'of': 536684, 'and': 375233, 'one': 371796, 'in': 335503, 'a': 292250,
'to': 285093, 'zero': 235406, 'nine': 224705}
new_a = {}
for i,(k,v) in enumerate(a.items()):
new_a[k]=v
if i==4:
print(new_a)
break
輸出:{'the': 958035, 'of': 536684, 'and': 375233, 'one': 371796, 'in': 335503}
㈨ 關於python 的 key in dict 問題
試了一下很麻煩
但是你將adict的值在進行str轉換之前保存一份不就行了嗎
以下代碼可以實現:
def dic():
i=0
adict=
stra = str(adict)
stra[1:len(stra)-1]
s = stra[1:len(stra)-1]
for key in s:
if key != ":":
i=i+1
else:
ret1 = key[0:i]
if key != "]":
i=i+1
else:
ret2 = key[len(ret1):i]
adict.update([(ret1,ret2)])
adict.pop(":")
print adict
很高興回答樓主的問題 如有錯誤請見諒