53

次のようなコードがあります。

letters = [('a', 'A'), ('b', 'B')]
i = 0
for (lowercase, uppercase) in letters:
    print "Letter #%d is %s/%s" % (i, lowercase, uppercase)
    i += 1

「i」変数を処理できる enumerate() 関数があると言われました。

for i, l in enumerate(['a', 'b', 'c']):
    print "%d: %s" % (i, l)

ただし、2 つを組み合わせる方法がわかりません。問題のリストがタプルで構成されている場合、enumerate を使用するにはどうすればよいですか? 私はこれをしなければなりませんか?

letters = [('a', 'A'), ('b', 'B')]
for i, tuple in enumerate(letters):
    (lowercase, uppercase) = tuple
    print "Letter #%d is %s/%s" % (i, lowercase, uppercase)

それとももっとエレガントな方法がありますか?

4

3 に答える 3

123

これはそれを行うためのきちんとした方法です:

letters = [('a', 'A'), ('b', 'B')]
for i, (lowercase, uppercase) in enumerate(letters):
    print "Letter #%d is %s/%s" % (i, lowercase, uppercase)
于 2009-05-11T18:23:36.850 に答える
1

あなたもこの方法を行うことができます:

letters = [('a', 'A'), ('b', 'B')]
for i, letter in enumerate(letters):
    print "Letter #%d is %s/%s" % (i, letter[0], letter[1])
于 2012-12-10T17:05:52.903 に答える