Python 如何合并两个for循环
我有两个for循环需要合并。我在这件事上花了一个小时左右。 我试着把一个函数变成一个函数,然后把它加到另一个函数中,但无法破解它 数组:Python 如何合并两个for循环,python,loops,python-3.x,Python,Loops,Python 3.x,我有两个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]))
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]))
你不需要两个for循环
for index, stooge in enumerate(stooges, start=1):
name, age, city = stooge
print 'Stooge %d: %s %s %d' % (index, name, city, age)
你不需要两个for循环
for index, stooge in enumerate(stooges, start=1):
name, age, city = stooge
print 'Stooge %d: %s %s %d' % (index, name, city, age)
但是您确实需要
start=1
,否则,Curly
就是stooge 0,这不是所需的输出。另外,您为什么建议从{}
格式转换为%
格式?@abarnert没错。非常感谢。从{}
切换到%
有什么不对?如果OP有他编写并理解的工作代码,为什么要给他不同的代码来做同样的事情,而不做任何解释?为什么不修复他代码中损坏的部分,而不处理其余部分?format
是新代码的推荐格式化操作。对于新代码,不鼓励使用%
。但是您确实需要start=1
,否则,Curly
就是stooge 0,这不是所需的输出。此外,您为什么建议从{}
格式转换为%
格式?@abarnet没错。非常感谢。从{}
切换到%
有什么不对?如果OP有他编写并理解的工作代码,为什么要给他不同的代码来做同样的事情,而不做任何解释?为什么不修复他代码中损坏的部分,而不处理其余部分?format
是新代码的推荐格式化操作。对于新代码,不鼓励使用%
。我将OP原始代码中的start=
关键字名称放回原处,因为我认为这样对他(甚至未来的读者)来说会更清楚。我把OP的原始代码中的start=
关键字名称放回原处,因为我认为这样他(甚至未来的读者)会更清楚。但除此之外,答案很好。
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