我有一些列表。我需要从中制作字典。下面的示例[关闭]

Posted

技术标签:

【中文标题】我有一些列表。我需要从中制作字典。下面的示例[关闭]【英文标题】:I have some list of lists. I need to make a dictionary from it.Examples below [closed] 【发布时间】:2018-01-08 03:22:10 【问题描述】:

这是我的列表列表:

list1=[['in', 'comparison', 'to', 'dogs', ',', 'cats', 'have', 'not', 'undergone', 'major', 'changes', 'during', 'the', 'domestication', 'process', '.'], ['as', 'cat', 'simply', 'catenates', 'streams', 'of', 'bytes', ',', 'it', 'can', 'be', 'also', 'used', 'to', 'concatenate', 'binary', 'files', ',', 'where', 'it', 'will', 'just', 'concatenate', 'sequence', 'of', 'bytes', '.'], ['a', 'common', 'interactive', 'use', 'of', 'cat', 'for', 'a', 'single', 'file', 'is', 'to', 'output', 'the', 'content', 'of', 'a', 'file', 'to', 'standard', 'output', '.'], ['cats', 'can', 'hear', 'sounds', 'too', 'faint', 'or', 'too', 'high', 'in', 'frequency', 'for', 'human', 'ears', ',', 'such', 'as', 'those', 'made', 'by', 'mice', 'and', 'other', 'small', 'animals', '.']] 

字典:

dict1=in: 0,
comparison: 1,
to: 2,
dogs: 3,
...

【问题讨论】:

示例不是规范。一个例子不是“例子”。部分示例(甚至没有超过第一个子列表,让我们猜测您想要从其余部分中获得什么)并不是一个示例。 您需要计算列表中输入的出现次数吗? @ChristianKönig:Counter 有什么帮助? dict1 似乎只包含索引。 @aramaki:不。见0 以@Eric Duminil 的回答为基础:v:i for l in list1 for i,v in enumerate(l) 或:[v:i for i,v in enumerate(l) for l in list1] 【参考方案1】:

你可以试试这个方法:

list1=[['in', 'comparison', 'to', 'dogs', ',', 'cats', 'have', 'not', 'undergone', 'major', 'changes', 'during', 'the', 'domestication', 'process', '.'], ['as', 'cat', 'simply', 'catenates', 'streams', 'of', 'bytes', ',', 'it', 'can', 'be', 'also', 'used', 'to', 'concatenate', 'binary', 'files', ',', 'where', 'it', 'will', 'just', 'concatenate', 'sequence', 'of', 'bytes', '.'], ['a', 'common', 'interactive', 'use', 'of', 'cat', 'for', 'a', 'single', 'file', 'is', 'to', 'output', 'the', 'content', 'of', 'a', 'file', 'to', 'standard', 'output', '.'], ['cats', 'can', 'hear', 'sounds', 'too', 'faint', 'or', 'too', 'high', 'in', 'frequency', 'for', 'human', 'ears', ',', 'such', 'as', 'those', 'made', 'by', 'mice', 'and', 'other', 'small', 'animals', '.']]


dict = v:i for l in list1 for i,v in enumerate(l)
print(dict)

输出:

'in': 0, 'comparison': 1, 'to': 2, 'dogs': 3, ',': 4, 'cats': 5, 'have': 6, 'not': 7, 'undergone': 8, 'major': 9, 'changes': 10, 'during': 11, 'the': 12, 'domestication': 13, 'process': 14, '.': 15 'as': 0, 'cat': 1, 'simply': 2, 'catenates': 3, 'streams': 4, 'of': 24, 'bytes': 25, ',': 17, 'it': 19, 'can': 9, 'be': 10, 'also': 11, 'used': 12, 'to': 13, 'concatenate': 22, 'binary': 15, 'files': 16, 'where': 18, 'will': 20, 'just': 21, 'sequence': 23, '.': 26 'a': 16, 'common': 1, 'interactive': 2, 'use': 3, 'of': 15, 'cat': 5, 'for': 6, 'single': 8, 'file': 17, 'is': 10, 'to': 18, 'output': 20, 'the': 13, 'content': 14, 'standard': 19, '.': 21 'cats': 0, 'can': 1, 'hear': 2, 'sounds': 3, 'too': 7, 'faint': 5, 'or': 6, 'high': 8, 'in': 9, 'frequency': 10, 'for': 11, 'human': 12, 'ears': 13, ',': 14, 'such': 15, 'as': 16, 'those': 17, 'made': 18, 'by': 19, 'mice': 20, 'and': 21, 'other': 22, 'small': 23, 'animals': 24, '.': 25

【讨论】:

@AndrewKonstantinov 欢迎。 :) 其实用dict是解决不了的,因为有些词出现了不止一次。元组列表最接近 OP 的要求:[(v,i) for l in list1 for i,v in enumerate(l)]

以上是关于我有一些列表。我需要从中制作字典。下面的示例[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VBA(不是字典)中制作列表?

我有嵌套的dict变量列表,需要将其转换为Json对象的dict变量类型

Python:字典列表列表[关闭]

制作目标依赖源列表

Python将列表转换为具有多个键值的字典[关闭]

python将字典追加到列表