我有一个充满了很多单词的字符串,每行一个,就像这样:
CAT
DOG
BIRD
如何将其转换为数组,其中所有单词之前和之后都用空格分隔,如下所示;
[ CAT , DOG , BIRD ]
我需要将其用作列表。
答案 0 :(得分:1)
只需使用split()
或splitlines()
分隔每一行:
>>> s = '''CAT
... DOG
... BIRD'''
>>> s.split()
['CAT', 'DOG', 'BIRD']
>>> s.splitlines()
['CAT', 'DOG', 'BIRD']
答案 1 :(得分:0)
s = 'CAT\nBIRD\nDOG'
s_array = s.split('\n')
print s_array
>> ['CAT', 'BIRD', 'DOG']
答案 2 :(得分:0)
split()
并在两端添加空格。
s = '''CAT
DOG
BIRD'''
print [' '+i+' ' for i in s.split()]
[' CAT ', ' DOG ', ' BIRD ']
答案 3 :(得分:0)
你的字符串是这样的
CAT
DOG
BIRD
在python中你的字符串就像" CAT \ nDOG \ nBIRD"
所以为了使这个列表简单地按行拆分:
string = "CAT\nDOG\nBIRD"
list = string.split("\n")
注意:我也喜欢splitlines()正如TigerHawk所说
答案 4 :(得分:0)
line = "CAT DOG BIRD"
words = []
words.append(line.split())
输出:
>>> words
[['cat', 'dog', 'bird']]
答案 5 :(得分:0)
正如其他人在分裂后提到的那样,你得到一个数组
s = 'CAT\nBIRD\nDOG'
s_array = s.split('\n')
所以,
s_array=['CAT','BIRD','DOG']
spaced_s_array=map(lambda x: ' ' + x+ ' ',s_array)
>>> spaced_s_array
[' CAT ', ' BIRD ', ' DOG ']
将lambda函数应用于s_array中的每个元素后给出spaced_s_array