是否有办法使这里的for循环返回同一行中每个项的值?



下面的代码是我试图让for循环迭代并返回每个项的值:

def number(lines):
#your code here
c=0
for i in lines:
return'[{}:{}]'.format(str(c+1),i) 
print(number(['a','b','c']))

所以我放在代码中,并期望它返回['1:a','2:b','3:c']但它只返回['1:a']

主要有两个问题:

  • 在循环的第一次迭代中使用return
  • 您没有增加变量c

def number(lines):
c = 1
return_value = []
for line in lines:
return_value.append('[{}:{}]'.format(str(c),line))
c += 1
return return_value
print(number(['a', 'b', 'c']))

另一个选项是

def number(lines): 
return ['[{}:{}]'.format(str(c), line) for c, line in enumerate(lines,1)]
print(number(['a', 'b', 'c']))

最新更新