Python,迭代地将int列表输入到list字典中

问题描述 投票:0回答:1

给出代码:

test_dict = {'aaa' : [1, 2], 'bbb' : [4, 5], 'ccc' : [7, 8]}
lis = [11, 22, 44, 55, 77, 88]

尝试迭代更新

test_dict
成为:

test_dict = {'aaa' : [11, 22], 'bbb' : [44, 55], 'ccc' : [77, 88]}

所以我找到的最接近的解决方案是: https://www.geeksforgeeks.org/python-iterate-through-value-lists-dictionary/ (方法#1) 但不确定在哪里分解“res”变量的右侧以更新“test_dict”

感谢您的帮助。

python list dictionary
1个回答
0
投票

Python 3.12 引入了一个函数,可以让您组合相邻的列表条目。将其与

zip
函数和字典理解相结合,可以为您提供一种优雅的方式来完成您所描述的事情。

from itertools import batched

batched_lis = [list(sublist) for sublist in batched(lis, 2)]
test_dict = {key: value for key, value in zip(sorted(test_dict), batched_lis)}
© www.soinside.com 2019 - 2024. All rights reserved.