python - 从列表列表创建字典
问题描述
我想从列表数据列表中创建一个字典,如下所示。我更喜欢单线。谢谢。
data = [['49', '69'], ['51', '1'], ['53', '1'], ['53', '4'], ['53', '132'], ['54', '209'], ['56', '1'], ['56', '202'], ['56', '203'], ['56', '204'], ['56', '205'], ['56', '206'], ['56', '207'], ['56', '208'], ['56', '209'], ['56', '210'], ['56', '211'], ['56', '212'], ['56', '213'], ['56', '214'], ['56', '215'], ['56', '216'], ['56', '217'], ['58', '1'], ['58', '10'], ['59', '1'], ['59', '9'], ['60', '8'], ['61', '1'], ['61', '5'], ['61', '8'], ['62', '1'], ['62', '9'], ['62', '40'], ['62', '41'], ['62', '42'], ['63', '177'], ['64', '1'], ['64', '9'], ['64', '141'], ['65', '155'], ['65', '156'], ['65', '157'], ['66', '1'], ['66', '194'], ['67', '1'], ['67', '10'], ['68', '1'], ['68', '9'], ['69', '1'], ['69', '10'], ['69', '139'], ['69', '140'], ['69', '141'], ['69', '142'], ['69', '143'], ['69', '144'], ['69', '145'], ['69', '146'], ['69', '147'], ['69', '148'], ['69', '149'], ['69', '150'], ['69', '151'], ['69', '152'], ['69', '153'], ['69', '154'], ['69', '155'], ['69', '156'], ['69', '157'], ['69', '158'], ['69', '159'], ['69', '160'], ['69', '161'], ['69', '162'], ['69', '163'], ['69', '164'], ['69', '165'], ['69', '166'], ['69', '167'], ['69', '168'], ['69', '169'], ['69', '170'], ['69', '171'], ['69', '172'], ['69', '173'], ['69', '174'], ['69', '175'], ['69', '176'], ['69', '177'], ['69', '178'], ['69', '179'], ['69', '180'], ['69', '181'], ['69', '182'], ['69', '183'], ['69', '184'], ['69', '185'], ['69', '186'], ['69', '187'], ['69', '188'], ['69', '189'], ['69', '190'], ['69', '191'], ['69', '192'], ['69', '193'], ['69', '194'], ['69', '195'], ['69', '196'], ['69', '197'], ['69', '198'], ['69', '199'], ['69', '200'], ['69', '201'], ['69', '202'], ['69', '203'], ['69', '204'], ['69', '205'], ['69', '206'], ['69', '207'], ['69', '208'], ['69', '209'], ['69', '210'], ['69', '211'], ['69', '212'], ['69', '213'], ['69', '214'], ['69', '215'], ['69', '216'], ['69', '217'], ['69', '218'], ['69', '219'], ['69', '220'], ['69', '221'], ['69', '222'], ['69', '223'], ['69', '224'], ['69', '225'], ['69', '226'], ['69', '227'], ['69', '228'], ['69', '229'], ['69', '230'], ['69', '231'], ['69', '232'], ['69', '233'], ['69', '234'], ['69', '235'], ['69', '236'], ['69', '237'], ['69', '238'], ['69', '239'], ['69', '240'], ['69', '241'], ['69', '242'], ['69', '243'], ['69', '244'], ['69', '245'], ['69', '246'], ['69', '247'], ['69', '248'], ['69', '249'], ['69', '250'], ['69', '251'], ['69', '252'], ['69', '253'], ['69', '254'], ['69', '255'], ['69', '256'], ['69', '257'], ['69', '258'], ['69', '259'], ['69', '260'], ['69', '261'], ['69', '262'], ['69', '263'], ['69', '264'], ['69', '265'], ['69', '266'], ['69', '267'], ['69', '268'], ['69', '269'], ['69', '270'], ['69', '271'], ['69', '278'], ['70', '1'], ['70', '9']]
dict = {49:[69], 51:[1], 53:[1,4,132] ......}
解决方案
请不要dict
用作变量名,因为它是一个内置函数。
dictionary = {}
for d in data:
try:
dictionary[int(d[0])].append(int(d[1]))
except KeyError:
dictionary[int(d[0])] = [int(d[1])]
使用 try/except 比 if/else 更优化,因为 python 解释器在抛出错误和捕获错误方面比评估表达式要快得多。
推荐阅读
- javascript - 在 Redux 连接回调中访问状态和调度
- java - java - 如何使用java中的mysql命令制作带有条件的按钮?
- azure - Azure DevOps 工件通用包使用哪些 TCP 端口?
- latex - 在 Colorbox 和/或 makebox 中垂直居中文本
- r - 如何从大量数据集中找到所有比较
- python - Python - 如何捕捉单击 Windows 的命令提示符“关闭”按钮?
- reactjs - reactjs - 使用 svg 对象运行构建错误
- python - 如何使用文件名作为变量
- python - 如何使用 TRAINS python 自动魔法实验管理器手动注册 sci-kit 模型?
- android - 如何在导航抽屉项目中使用片段从片段中调用片段