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
很高兴回答楼主的问题 如有错误请见谅