具有多个参数值的python字典

时间:2013-04-25 05:27:32

标签: python dictionary

我在从字典中获取值时遇到问题。 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本身就是一个值。 如何获取所有这些值? 它是嵌套字典吗?

1 个答案:

答案 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'

一样访问它