如何枚举()Python中的元组列表?

mik*_*ike 44 python list enumerate

我有一些像这样的代码:

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

我被告知有一个enumerate()函数可以为我处理"i"变量:

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

但是,我无法弄清楚如何将两者结合起来:当有问题的列表是由元组组成时,如何使用枚举?我必须这样做吗?

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

还是有更优雅的方式?

Ric*_*dle 96

这是一个很好的方法:

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

  • @Zak:如果你的意思是指定`(小写,大写)`,它叫做"解包". (3认同)
  • 这个叫什么?我想查看有关此语法的更多信息. (2认同)