如何将一个巨大的单个字符串列表拆分成单独的子串

时间:2017-02-14 03:22:01

标签: python string list

所以我有一个包含3个巨型字符串的列表,例如:

lst=['Mary,had,"3",little-lambs','Mary,sold-her,"3",lambs,away','Mary,was,sad']

该列表包含巨型字符串,但我想将这些字符串拆分为列表中的单独字符串(因此对于我想要的第一个字符串:

ls=['Mary','had','3','little','lambs'] 

等等。我试过了

.split

但它不会工作,因为它是一个列表,这是一个字符串方法。我需要一个完全非pythonic的方式。 (如果有人可以帮助完成下一步,我也要把最后一个值(在这种情况下,羔羊,离开,悲伤地放入字典中作为玛丽的关键)。  例如:

dictionary={"lambs": "Mary","away":"Mary","sad":"Mary"}

因为稍后我需要向Mary表示(值),并且弹出与Mary关联的所有键。如果有人能提供帮助,我将非常感激,我真的被困住了,任何帮助都应该完全是非pythonic的。

编辑:我使用了for循环并拆分了每个东西并将其附加到一个新列表,但结果创建了一个字符串列表列表

lst1=[]
for item in lst:
    item=item.split(",")
    lst1.append(item)
print(content)
print(lst1)

lst1=[['Mary','had','3','little','lambs']]

我试图避免在另一个列表中创建一个列表,因为我不知道如何索引它的每个部分来创建我之前提到的字典

2 个答案:

答案 0 :(得分:-1)

编辑:将拆分更改为re.split,包括专门用于“,”和“ - ”字符的正则表达式。应修改以匹配必要的分隔符。 这将为您提供所需的字典。您可以将tokens附加到单独的列表中,以获取每个字符串的单个单词列表。

import re
last_keys = dict()
for item in lst:
    tokens = re.split(r',|\-', item)
    last_keys[tokens[-1]] = "Mary"

答案 1 :(得分:-1)

在上面的答案中使用re.split()

import re
last_keys = dict()
for item in lst:
     tokens = re.split('-|,',item)
     last_keys[tokens[-1]] = "Mary"

last_keys
{'lambs': 'Mary', 'away': 'Mary', 'sad': 'Mary'}