0

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

大批:

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

第一个循环:

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]))
4

3 回答 3

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
于 2013-08-01T20:48:05.937 回答
1

你不需要两个 for 循环。

for index, stooge in enumerate(stooges, start=1):
    name, age, city = stooge
    print 'Stooge %d: %s %s %d' % (index, name, city, age)
于 2013-08-01T20:47:29.993 回答
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
于 2013-08-01T20:53:13.183 回答