我有一个Python列表,每个元素都是一个德语单词,例如:
my_list = [..., 'Stahl ', 'Stahl ', 'Die ', '*die ', 'Rheinhausener ', 'Rhein=Hausener ', 'Mittelstreckenraketen', 'Mittel=Strecken=Rakete', 'Mittel=strecken=Rakete', 'Mittels=trecken=Rakete',...]
在此列表中,复合名词后面紧跟着可能的分解/拆分(可以有任意数量的分解/拆分)
例如,“Mittelstreckenraketen”有3个分解/拆分:
'Mittel=Strecken=Rakete', 'Mittel=strecken=Rakete', 'Mittels=trecken=Rakete'
而“Rheinhausener”只有一个:
'Rhein=Hausener '
该列表的长度约为50000个元素。你知道吗
我想做的是只提取复合名词及其分解/拆分(丢弃列表中的所有其他元素),并将它们读入以复合名词为键、分解/拆分为值的词典,例如:
my_dict = {...,'Rheinhausener ': ['Rhein=Hausener '], 'Mittelstreckenraketen': ['Mittel=Strecken=Rakete', 'Mittel=strecken=Rakete', 'Mittels=trecken=Rakete'],...}
从而丢弃如下元素:
'Stahl ', 'Stahl ', 'Die ', '*die '
我想在列表中循环,每次出现一个或多个等号为“=”的元素时,取前面的元素并将其存储为键。但是我是一个Python新手,不知道如何解释每个字典条目的任意数量的值;所以我非常感谢任何帮助。你知道吗
您可以使用defaultdict:
哪个指纹
它假设它看到的最后一个没有“=”字符的项目,就是我们试图分解的单词。你知道吗
这里有一种方法,使用defaultdict。如果我们试图访问一个不存在的密钥,defaultdict会自动创建一个空列表。你知道吗
输出
请注意,如果关键元素没有紧跟在一系列分解之前,则此代码将无法正常工作。你知道吗
相关问题 更多 >
编程相关推荐