Python在for循环的每次迭代中添加新变量

2024-09-28 22:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

一般来说,我对编码是完全陌生的,只是在和列表打交道,我想知道是否有一种方法可以让循环遍历列表的每个元素,并独立地运行它。 我想举个例子:

输入:

List1 = [ "a" , "b" , "c" , "d" , "e" ]

输出:

List2 = [ "a123" , "b123" , "c123" , "d123" , "e123" ]

Tags: 方法元素编码列表例子list2list1陌生
3条回答

这就是你要找的:

list2 = [item + '123' for item in list1]

更多列表理解here

List_One = [ "a" , "b" , "c" , "d" , "e" ]
TrailingNumbers = 3
for index in range(0, len(List_One)):
    for num in range(0,TrailingNumbers+1):
        List_One[index] = List_One[index] + str(num)
print(List_One)

这将修改现有列表显然没有看到创建新列表的意义,但如果您这样做,只需执行以下操作:

List_Two = []
...
List_Two.append(List_One[index] + str(num))

我还假设您在每个字母后面没有固定的数字可加。
例如,这将是一种在每个字母后添加数字的动态方式。你知道吗

List_One = [ "a" , "b" , "c" , "d" , "e" ]
List_Two = []
TrailingNumbers = 3
for obj in List_One:
    List_Two.append(obj + ''.join(list(str(num) for num in range(0,TrailingNumbers+1))))
print(List_Two)

这是另一种方法,只使用一个循环迭代第一个列表,使用generator对象将数字添加到第二个列表中。你知道吗

第一种解决方案的更好方法是不要自己计算索引,而是让enumerate()为您完成这项工作。稍微快一点,被认为是“最佳实践”,它是这样的:

List_One = [ "a" , "b" , "c" , "d" , "e" ]
TrailingNumbers = 3
for index, obj in enumerate(List_One):
    for num in range(0,TrailingNumbers+1):
        List_One[index] = List_One[index] + str(num)
print(List_One)

它会快一点,但会做同样的工作。你知道吗

list2 = [element + '123' for element in list1]

相关问题 更多 >