-2

2つの辞書を含むリストがあります。

>>> x
[{'sby_0': 'sb0'}, {'sby_1': 'sb1'}]

パーセント記号を使用して2番目の辞書のアイテムを取得したい:

i = 1
x[1]["sby_%s" %i]

しかし、それは機能しません。私は何をすべきか?

4

3 に答える 3

2

コードに問題はありません。

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]。問題はコンマです。パーセント記号に置き換える必要があります。

于 2012-05-15T09:40:16.723 に答える
1

コードは完全に正常に機能します。

>>> x = [{'sby_0': 'sb0'}, {'sby_1': 'sb1'}]
>>> i = 1
>>> x[1]["sby_%s" %i]
'sb1'

ただし、数字なので%d代わりに使用します。%si

投稿しなかったコードのエラーは、の"sby_%s", i代わりに使用したことです"sby_%s" % i。タプル(この場合は不要なもの)を作成し%ながら、文字列のフォーマット(必要なもの)を実行します,

于 2012-05-15T09:40:18.523 に答える
0
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'

意図したとおりに動作します。おそらくあなたの質問を拡張し、あなたの使用法についてのより多くの情報を投稿してください。

于 2012-05-15T09:41:17.240 に答える