-1

辞書から値を取得する際に問題があります。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 自体が値になっているためです。これらすべての値を取得する方法は? ネストされた辞書ですか?

4

1 に答える 1

2

見た目からして、これはあなたの辞書です

>>> di = {'1': 'xyz=0 | pqr=70 | abc=300'}

または多分{1: 'xyz=0 | pqr=70 | abc=300'}、しかしあなたは質問があまり明確ではなかったので、最初のものを想定します。

これを辞書として持っているのは奇妙です。そのため、その理由について考えようとはしません。代わりに、文字列から必要なものを作成する方法を示します。'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'

そして今、あなたはそれにアクセスすることができますdi['xyz']

于 2013-04-25T05:39:10.533 に答える