为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

精慕HU 2021-09-11 15:41:53
这就是我现在所拥有的: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;11;12;1目标是在蚱蜢脚本中使用它来创建可以替换现有路径的新路径。
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

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


查看完整回答
反对 回复 2021-09-11
?
千万里不及你

TA贡献1784条经验 获得超9个赞

试图按照你的逻辑,我猜:


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']

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


查看完整回答
反对 回复 2021-09-11
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

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

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


查看完整回答
反对 回复 2021-09-11
  • 3 回答
  • 0 关注
  • 260 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号