在Python中将变量的每一行打印为列表元素
我想把每一行打印成列表里的一个元素。
现在我有:
Variable = apple
ball
chart
desk
我想要的结果是 ['apple', 'ball', 'chart', 'desk']。我试过用 append 方法,但出现了错误,提示字符串对象没有这个属性...
我觉得这和 如何格式化列表,让每个元素单独打印一行 是相反的。
这是我目前的代码:
for entry in variable.strip().split(","):
variable_final = entry.lstrip()
print variable_final
上面的代码打印出来是:
apple
ball
chart
desk
但是当我打印 [variable_final] 时,它会把每一行作为一个列表打印出来。
注意:我还是没找到办法做到这一点。最终我只需要把这些行垂直打印出来。我之前问过这个问题,但被标记为重复... 我找不到办法把多行垂直打印,或者把多个列表垂直打印出来...
a b c d
p a h e
p l a s
l l r k
e t
2 个回答
1
这可能是一个答案:
如果你有这个:
variable =
"""This is a
multiline string
and I want each line
as a separate entry"""
那么这段代码会把它转换成一个列表,每一行对应列表中的一个条目:
lst = variable.split("\n")
1
如果Variable
是一个实际的变量名,里面包含了多行字符串,像这样:
Variable = "\ta\n\tb\n\tc\n\td"
那么你可以这样做:
str(Variable.replace("\n", "").split("\t")[1:])
你可以根据你变量字符串中换行符、制表符或其他特殊字符的位置来调整这个内容。
如果Variable =
这一部分实际上是打印出来的字符串的一部分,而这个变量叫别的名字,比如foo
,那么你可以先这样做:
foo1 = foo[10:] # or however you want to skip past the 'Variable = ' part
然后在使用split
的时候,注意一下前面是否有空格或制表符。