有没有一种简单的方法可以将这个列表转换成字典(python)

时间:2018-08-19 17:20:50

标签: python-3.x

列表是这个:

List1 = ['a','b','c','d','e','f','g','h','h','i','j','k','l','m','n']

我希望结果是每次出现在列表中的项目都分配一个整数,例如:

List1 = ['a:1']

不使用“导入计数器”模块

2 个答案:

答案 0 :(得分:1)

您可以使用此列表理解:

dict((x, List1.count(x)) for x in set(List1))

示例输出:

{'d': 1, 'f': 1, 'l': 1, 'c': 1, 'j': 1, 'e': 1, 'i': 1, 'a': 1, 'h': 2, 'b': 1, 'm': 1, 'n': 1, 'k': 1, 'g': 1}

答案 1 :(得分:0)

(已编辑,以匹配已编辑的问题。) 使用字典理解和count

>>> List1 = ['a','b','c','d','e','f','g','h','h','i','j','k','l','m','n']
>>> mapping = {v: List1.count(v) for v in List1}
>>> mapping
{'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1,
'g': 1, 'h': 2, 'i': 1, 'j': 1, 'k': 1, 'l': 1, 'm': 1, 'n': 1}