君ならできるって分かってる
print str(myList)
取得するため
[1, 2, 3]
そしてあなたはできる
i = 0
for entry in myList:
print str(i) + ":", entry
i += 1
取得するため
0: 1
1: 2
2: 3
しかし、最初と似た方法で最後と似た結果を得る方法はあるのでしょうか?
私の Python に関する限られた知識 (およびドキュメントからのいくらかの助け) で、最善のものは次のとおりです。
print '\n'.join([str(n) + ": " + str(entry) for (n, entry) in zip(range(0,len(myList)), myList)])
冗長性はそれほど減りませんが、少なくとも 1 つの (複合) ステートメントでカスタム文字列を取得できます。もっと良い方法はありますか?
ベストアンサー1
>>> lst = [1, 2, 3]
>>> print('\n'.join('{}: {}'.format(*k) for k in enumerate(lst)))
0: 1
1: 2
2: 3
注: リストの内包表記やジェネレータ式の反復処理を理解するだけで十分ですは明示的なループ。