我有以下内容:
trd_potfolio = {"TATASTEEL":{"token":"12345"},"VEDL":{"token":"5675"}}
for i in trd_potfolio:
print(i["token"])
我想找到令牌的值,如何找到它
答案 0 :(得分:1)
尝试一下:
trd_potfolio = {"TATASTEEL":{"token":"12345"},"VEDL":{"token":"5675"}}
for x in trd_potfolio:
print(trd_potfolio[x]['token'])
使用dict.values()
for v in trd_potfolio.values():
print(v['token'])
答案 1 :(得分:0)
请使用for循环,然后使用.values()
trd_potfolio = {"TATASTEEL":{"token":"12345"},"VEDL":{"token":"5675"}}
for i in trd_potfolio.values():
print(i["token"])
答案 2 :(得分:0)
其他选项,如果您希望能够选择一个不同的key
来使用一个函数来进行如下操作:
def findkeys(node, kv):
if isinstance(node, list):
for i in node:
for x in findkeys(i, kv):
yield x
elif isinstance(node, dict):
if kv in node:
yield node[kv]
for j in node.values():
for x in findkeys(j, kv):
yield x
trd_potfolio = {"TATASTEEL":{"token":"12345"},"VEDL":{"token":"5675"}}
print(list(findkeys(trd_potfolio, 'token')))
# ['12345', '5675']
trd_potfolio = {"TATASTEEL":{"token":"12345","test":{"token":"12345"} },"VEDL":{"token":"5675"}}
print(list(findkeys(trd_potfolio, 'token')))
# ['12345', '12345', '5675']
这将适用于更多嵌套的dict
,并适用于list
答案 3 :(得分:0)
通过字典的简单循环遍历其键。您想遍历其值。
所以
trd_potfolio = {"TATASTEEL":{"token":"12345"},"VEDL":{"token":"5675"}}
for i in trd_potfolio.values(): # loop through values
print(i["token"])
答案 4 :(得分:0)
使用py3.8很高兴:
d = {"TATASTEEL":{"token":"12345"},"VEDL":{"token":"5675"}}
for k, v in d.items():
if (t := 'token') in v:
print(f'{k = }, v[{t!r}] = {v[t]}')
# k = 'TATASTEEL', v['token'] = 12345
# k = 'VEDL', v['token'] = 5675