我在从字典中获取值时遇到问题。 di是一本字典。
for key in di.keys()
print("key is = %s" %key)
for value in di.values()
print("value is = %s" %value)
它输出为
key is = 1
和
value is = xyz=0 | pqr=70 | abc=300
我希望上面的所有3个值(0,70,300)都在单独的变量中。我无法做到
di['xyz']
因为xyz本身就是一个值。 如何获取所有这些值? 它是嵌套字典吗?
答案 0 :(得分:2)
从它的外观来看,这是你的词典
>>> di = {'1': 'xyz=0 | pqr=70 | abc=300'}
或者也许{1: 'xyz=0 | pqr=70 | abc=300'}
,但你在问题上不是很清楚,所以我会假设第一个。
很奇怪你会把它作为字典,所以我不会费心去思考为什么会这样,而是我会告诉你如何从字符串{{1}中构建你想要的东西}
'xyz=0 | pqr=70 | abc=300'
垂直条分割
>>> di['1'].split(' | ')
['xyz=0', 'pqr=70', 'abc=300']
按等号拆分以制作钥匙对列表
>>> [x.split('=') for x in di['1'].split(' | ')]
[['xyz', '0'], ['pqr', '70'], ['abc', '300']]
从中构建>>> dict(x.split('=') for x in di['1'].split(' | '))
{'xyz': '0', 'abc': '300', 'pqr': '70'}
dict
现在您可以像>>> di = dict(x.split('=') for x in di['1'].split(' | '))
>>> di['xyz']
'0'