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

时间:2018-12-09 00:28:01

标签: python list path grasshopper

这就是我现在拥有的:

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

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

3 个答案:

答案 0 :(得分:1)

问题是<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E=" crossorigin="anonymous"></script> <form id="unitid_quickfind"> <input id="unitid_input" type="text" /> <input type="submit" value="Find" /> </form> <a id="1">Unit 1</a> <a id="2">Unit 2</a> <a id="3">Unit 3</a>会将整个 num = str(L1)列表转换为字符串,但是您只想转换{{的 elements 1}}列为字符串。

尝试一下:

L1

输出:

L1

答案 1 :(得分: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']

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

答案 2 :(得分: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]

如果要将它们放在单个列表中。