将列表中的整数迭代添加到另一个列表
Adding integers in a list iteratively to another list
我正在尝试使用 Python 执行以下操作(复合应用程序):
我有一个名称列表,我想将字符串形式的整数添加到每个名称的末尾。这是期望的结果:
姓名列表:
姓名 1_、姓名 2_、姓名 3_
整数列表:
[45,90,45,0]
期望的结果:
Name1_45、Name2_90、Name3_45、Name4_0
相反,这是我得到的:
Name1_45、Name2_45、Name3_45、Name4_45
Name1_90、Name2_90、Name3_90、Name4_90
Name1_45、Name2_45、Name3_45、Name4_45
Name1_0、Name2_0、Name3_0、Name4_0
这是我的代码:
import csv
name_list_a = []
name_list_b = []
name_angle_a = []
lam_a = 'Lam1_'
lam_b = 'Lam2_'
for i in range(1,10,1):
name_list_a.append([lam_a + str(i) + '_'])
# print(name_list_a)
stack_seq = [45,90,45,0]
for j in stack_seq:
for z in name_list_a:
name_angle_a.append([z + [str(j)]])
print(name_angle_a)
file = open('names.txt', 'w+', newline='')
with file:
write = csv.writer(file)
write.writerows(name_angle_a)
我该怎么做(如果有的话)
提前致谢!
您没有提到您使用的语言。通过查看您的代码,我可以找到出错的地方。
for j in stack_seq:
for z in name_list_a:
name_angle_a.append([z + [str(j)]])
print(name_angle_a)
您在上面的行中放置了一个嵌套循环,这导致在您的输出中打印多行。
按照下面的格式。根据您使用的编程语言了解想法并调整语法。
只需使用 1 个循环,如下所示。
for i in range(1,10,1):
name_list_a.append([lam_a + str(i) + '_'])
# print(name_list_a)
stack_seq = [45,90,45,0]
j=0
for z in name_list_a:
name_angle_a.append([z + [str(stack_seq[j])]])
j+=1
print(name_angle_a)
您想同时遍历两个列表,而不是使用嵌套循环。在 python 中,您可以使用 zip()
:
for j, z in zip(stack_seq, name_list_a):
name_angle_a.append(z + str(j))
print(name_angle_a)
我正在尝试使用 Python 执行以下操作(复合应用程序): 我有一个名称列表,我想将字符串形式的整数添加到每个名称的末尾。这是期望的结果:
姓名列表: 姓名 1_、姓名 2_、姓名 3_
整数列表: [45,90,45,0]
期望的结果: Name1_45、Name2_90、Name3_45、Name4_0
相反,这是我得到的:
Name1_45、Name2_45、Name3_45、Name4_45
Name1_90、Name2_90、Name3_90、Name4_90
Name1_45、Name2_45、Name3_45、Name4_45
Name1_0、Name2_0、Name3_0、Name4_0
这是我的代码:
import csv
name_list_a = []
name_list_b = []
name_angle_a = []
lam_a = 'Lam1_'
lam_b = 'Lam2_'
for i in range(1,10,1):
name_list_a.append([lam_a + str(i) + '_'])
# print(name_list_a)
stack_seq = [45,90,45,0]
for j in stack_seq:
for z in name_list_a:
name_angle_a.append([z + [str(j)]])
print(name_angle_a)
file = open('names.txt', 'w+', newline='')
with file:
write = csv.writer(file)
write.writerows(name_angle_a)
我该怎么做(如果有的话)
提前致谢!
您没有提到您使用的语言。通过查看您的代码,我可以找到出错的地方。
for j in stack_seq:
for z in name_list_a:
name_angle_a.append([z + [str(j)]])
print(name_angle_a)
您在上面的行中放置了一个嵌套循环,这导致在您的输出中打印多行。 按照下面的格式。根据您使用的编程语言了解想法并调整语法。 只需使用 1 个循环,如下所示。
for i in range(1,10,1):
name_list_a.append([lam_a + str(i) + '_'])
# print(name_list_a)
stack_seq = [45,90,45,0]
j=0
for z in name_list_a:
name_angle_a.append([z + [str(stack_seq[j])]])
j+=1
print(name_angle_a)
您想同时遍历两个列表,而不是使用嵌套循环。在 python 中,您可以使用 zip()
:
for j, z in zip(stack_seq, name_list_a):
name_angle_a.append(z + str(j))
print(name_angle_a)