所以我有一个包含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']]
我试图避免在另一个列表中创建一个列表,因为我不知道如何索引它的每个部分来创建我之前提到的字典
答案 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'}