将变量的每一行打印到python中的列表元素中

时间:2014-07-20 20:24:59

标签: python

我正在尝试将每一行打印到列表元素中。

目前我有:

Variable = apple
           ball
           chart
           desk

我希望它进入[' apple',' ball',' chart',#39; desk']。我尝试追加,我得到错误str对象没有属性追加...

我认为这是How can I format a list to print each element on a separate line in python?

的倒数

这是我到目前为止的代码:

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 个答案:

答案 0 :(得分: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时是否有前导空格或制表符。

答案 1 :(得分:0)

这可能是一个答案:

如果你有这个:

variable =
"""This is a
multiline string
and I want each line
as a separate entry"""

这个代码会将其转换为一个列表,每行有一个列表条目:

lst = variable.split("\n")