gpt4 book ai didi

python - 如何将多个列表映射到一个字典?

转载 作者:太空狗 更新时间:2023-10-29 21:16:47 24 4
gpt4 key购买 nike

我使用了这段代码:

dictionary = dict(zip(list1, list2))

为了映射字典中的两个列表。地点:

list1 = ('a','b','c')
list2 = ('1','2','3')

字典等于:

{'a': 1, 'c': 3, 'b': 2}

有没有办法添加第三个列表:

list3 = ('4','5','6')

这样字典就等于:

{'a': [1,4], 'c': [3,5], 'b': [2,6]}

必须添加第三个列表,以便它遵循现有映射。

我们的想法是让这项工作在一个 for 循环中迭代工作,并将几十个值传递给正确映射的关键字。这样的事情可能吗?

最佳答案

dict((z[0], list(z[1:])) for z in zip(list1, list2, list3))

会起作用。或者,如果您更喜欢稍微好一点的字典理解语法:

{z[0]: list(z[1:]) for z in zip(list1, list2, list3)}

这很容易扩展到任意数量的列表:

list_of_lists = [list1, list2, list3, ...]
{z[0]: list(z[1:]) for z in zip(*list_of_lists)}

如果您想转换类型以确保值列表包含所有整数:

def to_int(iterable):
return [int(x) for x in iterable]

{z[0]: to_int(z[1:]) for z in zip(*list_of_lists)}

当然,您可以在一行中完成,但我宁愿不这样做。

关于python - 如何将多个列表映射到一个字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15834244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com