2つの辞書を含むリストがあります。
>>> x
[{'sby_0': 'sb0'}, {'sby_1': 'sb1'}]
パーセント記号を使用して2番目の辞書のアイテムを取得したい:
i = 1
x[1]["sby_%s" %i]
しかし、それは機能しません。私は何をすべきか?
2つの辞書を含むリストがあります。
>>> x
[{'sby_0': 'sb0'}, {'sby_1': 'sb1'}]
パーセント記号を使用して2番目の辞書のアイテムを取得したい:
i = 1
x[1]["sby_%s" %i]
しかし、それは機能しません。私は何をすべきか?
コードに問題はありません。
In [6]: x = [{'sby_0': 'sb0'}, {'sby_1': 'sb1'}]
In [7]: i = 1
In [8]: x[1]['sby_%s' % i]
Out[8]: 'sb1'
編集コメントに投稿したエラーメッセージには、と書かれていますx[1]["sby_%i", i]
。問題はコンマです。パーセント記号に置き換える必要があります。
コードは完全に正常に機能します。
>>> x = [{'sby_0': 'sb0'}, {'sby_1': 'sb1'}]
>>> i = 1
>>> x[1]["sby_%s" %i]
'sb1'
ただし、数字なので%d
代わりに使用します。%s
i
投稿しなかったコードのエラーは、の"sby_%s", i
代わりに使用したことです"sby_%s" % i
。タプル(この場合は不要なもの)を作成し%
ながら、文字列のフォーマット(必要なもの)を実行します,
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x = [{'sby_0': 'sb0'}, {'sby_1': 'sb1'}]
>>> i = 1
>>> x[1]
{'sby_1': 'sb1'}
>>> x[1]['sby_%s' % i]
'sb1'
意図したとおりに動作します。おそらくあなたの質問を拡張し、あなたの使用法についてのより多くの情報を投稿してください。