我有以下格式的列表:
mylist = ["a word 1 2 3 4","b word 5 6 7 8"]
我正在尝试将其拆分为2个新列表,每个字符串一个,即:
newlist1 = ["a","word","1","2","3","4"]
newlist2 = ["b","word","5","6","7","8"]
但我没有运气。我尝试了各种方法并查看了许多类似的问题,但未能成功应用于我的问题。
我将非常感谢任何帮助,我对Python仍然很陌生,我知道这可能是一件非常简单的事情!
答案 0 :(得分:0)
您可以使用str.split()
<强>实施例强>:
mylist = ["a word 1 2 3 4","b word 5 6 7 8"]
for i in mylist:
print(i.split())
输出:
['a', 'word', '1', '2', '3', '4']
['b', 'word', '5', '6', '7', '8']
使用列表理解:
print([i.split() for i in mylist])
答案 1 :(得分:0)
你可以这样做
splitSentences = [ sent.split(" ") for sent in mylist]
[['a','word','1','2','3','4'],['b','word','5','6','7' ,'8']]
答案 2 :(得分:0)
如果要在列表中拆分两个字符串并将结果绑定到两个变量,您只需执行此操作:
mylist = ["a word 1 2 3 4","b word 5 6 7 8"]
newlist1 = mylist[0].split()
newlist2 = mylist[1].split()
对于2个变量,这是可以的,但一般来说,如果你有更多的字符串需要拆分,那很快就会变得难以处理。对于更通用的解决方案,您只需使用列表列表:
>>> newlists = [s.split() for s in mylist]
>>> newlists
[['a', 'word', '1', '2', '3', '4'], ['b', 'word', '5', '6', '7', '8']]
然后按索引访问每个列表:
>>> newlists[0]
['a', 'word', '1', '2', '3', '4']
>>> newlists[1]
['b', 'word', '5', '6', '7', '8']
或者您可以使用字典:
>>> d = {'newlist{}'.format(i) : s.split() for i, s in enumerate(mylist, 1)}
>>> d
{'newlist1': ['a', 'word', '1', '2', '3', '4'], 'newlist2': ['b', 'word', '5', '6', '7', '8']}
现在您可以按键访问列表:
>>> d['newlist1']
['a', 'word', '1', '2', '3', '4']
>>> d['newlist2']
['b', 'word', '5', '6', '7', '8']