如何合并两个for循环

时间:2013-08-01 20:43:11

标签: python loops python-3.x

我有两个需要组合的for循环。我花了一个小时左右的时间。 我已经尝试将一个函数添加到另一个函数中并添加到另一个函数中,但是无法破解它...

阵列:

stooges = [('Curly',35,'New York'),('Larry',33,'Pennsylvania'),('Moe',40,'New York')]

First Loop:

for item in stooges:
    print ("Stooge: {0} {2} {1} ".format(item[0],item[1],item[2]))

第二圈:

for i, val in enumerate(stooges, start=1):
    print ("Stooge", + i)

我需要的输出格式是:

Stooge 1: Curly New York 35 
Stooge 2: Larry Pennsylvania 33
Stooge 3: Moe New York 40

我最接近的是:

for i, val in enumerate(stooges, start=1):
    for item in stooges:
        print ("Stooge", + i, "{0} {2} {1} ".format(item[0],item[1],item[2]))

3 个答案:

答案 0 :(得分:2)

>>> for i, (name, age, city) in enumerate(stooges, start=1):
...     print("Stooge {}: {} {} {}".format(i, name, age, city))
Stooge 1: Curly 35 New York
Stooge 2: Larry 33 Pennsylvania
Stooge 3: Moe 40 New York

答案 1 :(得分:1)

你不需要两个for循环。

for index, stooge in enumerate(stooges, start=1):
    name, age, city = stooge
    print 'Stooge %d: %s %s %d' % (index, name, city, age)

答案 2 :(得分:0)

for i, (n, a, c) in enumerate(stooges):
    print 'Stooge %d: %s %s %d' % (i + 1, n, c, a)

Stooge 1: Curly New York 35
Stooge 2: Larry Pennsylvania 33
Stooge 3: Moe New York 40