0

这就是我现在所拥有的:

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

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

4

3 回答 3

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
于 2018-12-09T00:38:38.303 回答
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']

然后,您可以遍历路径元素以根据需要将其打印出来。

于 2018-12-09T09:25:30.003 回答
0

如果你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]

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

于 2020-06-19T05:11:15.407 回答