如何从含元组的列表枚举键,免硬编码生成目标字典?
如何基于列表元组的位置自动生成指定格式的字典?
嗨,我懂你想要的效果——把包含元组的列表转换成以元素索引(字符串形式)为键,对应值是包含该元组的列表的字典,而且要完全自动化,不用手动指定键对吧?
用Python的enumerate配合字典推导式就能轻松解决这个问题,代码简洁又高效:
首先你的原始列表:
my_list = [(1,2),(2,3),(4,5),(8,12)]
生成目标字典的一行代码:
di = {str(index): [item] for index, item in enumerate(my_list)}
代码解释:
enumerate(my_list)会逐个遍历列表中的元素,同时返回每个元素的起始索引(从0开始)和元素本身,完全不用手动计数- 字典推导式里,我们把索引转换成字符串
str(index)作为字典的键,满足你需要字符串类型键的要求 - 值部分用
[item]把每个元组包装成一个列表,正好匹配你期望的格式
运行这段代码后,di的输出就是你想要的结果:
{'0': [(1, 2)], '1': [(2, 3)], '2': [(4, 5)], '3': [(8, 12)]}
而且这个方案完全自动化,不管你的my_list后续添加或删除元素,代码都会自动适配生成对应的键,再也不用手动维护字典的键啦!
内容的提问来源于stack exchange,提问作者sharp
相关产品推荐
相关产品推荐

