Python 将列表转换为词典

Python 将列表转换为词典,python,dictionary,Python,Dictionary,这是我的列表,我想把它转换成键值1-9的字典。我用的是本福德定律,我试图找到每个数字的起始数字,并记录每个数字是起始数字的多少倍。这是我的清单。它持续的时间更长,但我只复制了一小部分 ['2930', '4782', '709', '433', '29861', '20115', '15114', '2417', '737', '966', '8863', '355', '23561', '8272', '1288', '1961', '746', '318', '2100', '1890',

这是我的列表,我想把它转换成键值1-9的字典。我用的是本福德定律,我试图找到每个数字的起始数字,并记录每个数字是起始数字的多少倍。这是我的清单。它持续的时间更长,但我只复制了一小部分

['2930', '4782', '709', '433', '29861', '20115', '15114', '2417', '737', '966', '8863', '355', '23561', '8272', '1288', '1961', '746', '318', '2100', '1890', '2643', '24194', '10109', '6587', '57828', '877', '488', '624', '722', '322', '222', '8342', '3163',......

你想计算什么?对于数值,你想要以数字i开头的数字的数量还是数字本身?你想计算什么?对于数值,你想要以数字i开头的数字的数量还是数字本身?顺便说一句,你不需要列表理解,生成器表达式对内存更友好,特别是OP说他们的列表更长,所以你可以删除[]顺便说一句,你不需要列表理解,生成器表达式对内存更友好,特别是OP说他们的列表更长,所以你可以删除[]
from collections import Counter
l = ['2930', '4782', '709', '433', '29861', '20115', '15114', '2417', '737', '966', '8863', '355', '23561', '8272', '1288', '1961', '746', '318', '2100', '1890', '2643', '24194', '10109', '6587', '57828', '877', '488', '624', '722', '322', '222', '8342', '3163']
c = Counter(x[0] for x in l)


>>> c
Counter({'2': 9, '1': 5, '3': 4, '7': 4, '8': 4, '4': 3, '6': 2, '5': 1, '9': 1})