我正在打印我的应用正在接收的变量,我得到的结果如下:
dog
cat
monkey
cow
我想将它添加到[dog,cat,monkey,cow]列表中,但是我不确定如何将它作为一个列表,因为它只是一个字符串变量(所以当我做一个字符串中的项目:...我只是得到每个字母而不是单词)。有没有办法根据每个项目是新行的事实将每个项目添加到列表中?
由于
答案 0 :(得分:2)
为此目的提供了一种内置的字符串方法,称为splitlines
。
>>> tst = """dog
cat
monkey
cow"""
>>> tst
'dog\ncat\nmonkey\ncow' # for loop gives you each letter because it's 1 string
>>> tst.splitlines()
['dog', 'cat', 'monkey', 'cow']
当然,你可以追加它:
>>> lst = tst.splitlines()
>>> lst.append("lemur")
>>> lst
['dog', 'cat', 'monkey', 'cow', 'lemur']
想要它作为多行字符串吗?使用join
。
>>> '\n'.join(lst)
'dog\ncat\nmonkey\ncow\nlemur'
>>> print '\n'.join(lst)
dog
cat
monkey
cow
lemur
答案 1 :(得分:2)
我相信您正在寻找str.splitlines
:
>>> mystr = "dog\ncat\nmonkey\ncow"
>>> print(mystr)
dog
cat
monkey
cow
>>> mystr.splitlines()
['dog', 'cat', 'monkey', 'cow']
>>>
来自docs:
str.splitlines([keepends])
返回字符串中的行列表,在行边界处断开。此方法使用universal newlines方法 分裂线。换行符不包含在结果列表中 除非给出
keepends
并且为真。