我对编码一般都是新手,只是搞乱列表,我想知道是否有办法让循环遍历列表的每个元素并相互独立地运行。 我想一个例子就是:
输入:
List1 = [ "a" , "b" , "c" , "d" , "e" ]
输出:
List2 = [ "a123" , "b123" , "c123" , "d123" , "e123" ]
答案 0 :(得分:2)
答案 1 :(得分:1)
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,没有看到创建新列表的重点,但如果只是这样做:
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)
这是另一种方法,只使用一个循环迭代第一个列表,添加第二个列表,其中包含一个生成器对象,用于将数字添加到字符串中。
第一种解决方案的更好方法是不自行计算索引,让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)
它会更快一点,但会做同样的工作。
答案 2 :(得分:1)
list2 = [element + '123' for element in list1]
答案 3 :(得分:0)
功能方式:
List1 = [ "a" , "b" , "c" , "d" , "e" ]
map(lambda x: x+'123',List1)