将str添加到列表中每个数字的末尾



这就是我现在拥有的:

L1 = range(0,3,1)
num = str(L1)
L2 = ';1'
path = [i + ";1" for i in num]
print(path)

这给了我这个:

['[;1', '0;1', ',;1', ' ;1', '1;1', ',;1', ' ;1', '2;1', '];1']

但我希望它看起来像这样:

0;1
1;1
2;1

目标是在一个草蜢脚本中使用它来创建可以替换现有路径的新路径。

问题是num = str(L1)会将整个L1列表转换为字符串,但您只想将L1列表的元素转换为字符串。

试试这个:

path = [str(i) + ";1" for i in range(0,3,1)]
for line in path:
print(line)

输出:

0;1
1;1
2;1

我想,试着遵循你的逻辑:

L1 = [str(i) for i in range(0,3,1)]
#=> ['0', '1', '2']

所以,把放在一起

L1 = [str(i) for i in list(range(0,3,1))]
L2 = ';1'
path = [i + L2 for i in L1 ]
print(path)
#=> ['0;1', '1;1', '2;1']

然后,您可以对路径的元素进行迭代,以便根据需要打印出来。

如果您在第二行之后尝试print(num),您会意识到num = '[0, 1, 2]'num = 'range(0, 3)'取决于您的编译器,并且它已经是一个字符串。这就是为什么当你试图循环通过num时,你得到了所有这些东西。

相反,请尝试:

L1 = range(0,3,1)
num = str(L1)
L2 = ';1'
for i in L1:
print(str(i) + L2)

path = [str(i) + L2 for i in L1]

如果你想把它们放在一个列表中。

相关内容

  • 没有找到相关文章

最新更新