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

Python 将str添加到列表中每个数字的末尾,python,list,path,grasshopper,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 目标是在grasshopper脚本中使用它来创建可以替换现有路径的新路径。问题是num=str(L1)将整个L

这就是我现在拥有的:

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

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

问题是
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

问题是
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']

然后,您可以在路径元素上迭代,以根据需要将其打印出来。

我想,要按照您的逻辑进行操作:

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)

如果您在第二行之后尝试打印(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)

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