在Python中将变量的每一行打印为列表元素

2 投票
2 回答
2152 浏览
提问于 2025-04-18 14:02

我想把每一行打印成列表里的一个元素。

现在我有:

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的时候,注意一下前面是否有空格或制表符。

撰写回答