将 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

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


精慕HU
浏览 261回答 3
3回答

红颜莎娜

问题是,num = str(L1)将转换整个 L1列表为一个字符串,但你只是想在转换元素的L1列表转换为字符串。尝试这个:path = [str(i) + ";1" for i in range(0,3,1)]for line in path:    print(line)输出:0;11;12;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]如果你想把它们放在一个列表中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python