我想获取一个字符串列表,这些字符串代表在CLI中输入的各行,并在开头放置'〜$',所以当我显示它们时,它们更明显是命令行。我试过这个
command = # a multiline block of command lines
lines = command.split('\n')
for l in lines:
l = '~$ ' + l
for l in lines: print l
但是这会修改临时变量l我认为不会返回并更改列表中的实际值。如果我将打印件放在第一个循环内部,则会打印出正确的值,但如果我这样做,则不会进行更改。提前感谢您的帮助。
答案 0 :(得分:8)
使用列表理解:
lines = ['~$ ' + line for line in command.split('\n')]
如果 使用for循环,则使用enumerate()
来包含索引,以便替换列表中的各个项目:
for i, line in enumerate(lines):
lines[i] = '~$ ' + line
答案 1 :(得分:1)
功能方式:
list(map(lambda s: '~$ ' + s, command.splitlines()))