2

これは非常に単純に見えますが、私はそれを行う方法がわかりません。

文字列に配置されたリストから要素を印刷する必要があります。リスト内包表記を使用しようとしていますが、インタープリターでエラーが発生します。

print '%s (...) %s (...) %s%s (...)%s (...)'%(i for i in mylist)

文字列が規則的な構造ではないため、print'%s'%(i for i in mylist)を使用できません。上記のコードには構文エラーがあります。正しい形とは何ですか?

前もって感謝します。

4

1 に答える 1

3

代わりに、リストをタプルに変換します。

print '%s (...) %s (...) %s%s (...)%s (...)' % tuple(mylist)

デモ:

>>> mylist = ['a', 'b', 'c', 'd', 'e']
>>> print '%s (...) %s (...) %s%s (...)%s (...)' % tuple(mylist)
a (...) b (...) cd (...)e (...)

.format()または、代わりに次のメソッドを使用して文字列をフォーマットします。

print '{} (...) {} (...) {}{} (...){} (...)'.format(*mylist)

.format()リストへのインデックス作成もサポートします。

print '{0[0]} (...) {0[1]} (...) {0[2]}{0[3]} (...){0[4]} (...)'.format(mylist)
于 2013-03-22T16:32:29.880 に答える