程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在不使用嵌套for循环的情况下将两个列表合并到字典中大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在不使用嵌套for循环的情况下将两个列表合并到字典中?

开发过程中遇到如何在不使用嵌套for循环的情况下将两个列表合并到字典中的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在不使用嵌套for循环的情况下将两个列表合并到字典中的解决方法建议,希望对你解决如何在不使用嵌套for循环的情况下将两个列表合并到字典中有所启发或帮助;

您可以使用defaultDict:

from collections import defaultDict
d = defaultDict(List)
List_a = [0, 0, 0, 1, 1, 1, 1, 1, 9999]
Lis@R_618_11164@ = [24, 53, 88, 32, 45, 24, 88, 53, 1]
for a, b in zip(List_a, Lis@R_618_11164@):
   d[a].append(b)

print(Dict(d))

输出:

{0: [24, 53, 88], 1: [32, 45, 24, 88, 53], 9999: [1]}

解决方法

我有两个清单:

a = [0,1,.... 99999]
b = [24,53,88,32,45,24,...... 1]

我想将这两个列表合并成一个字典,例如:

{
    0: [24,88],1: [32,53],...... 
    99999: [1]
}

一个解决方案可能是使用for循环,看起来不太美观,例如:

d = {}
unique_a = list(set(list_a))
for i in range(len(list_a)):
    if list_a[i] in d.keys:
        d[list_a[i]].append(lis@R_618_11164@[i])
    else:
        d[list_a] = [lis@R_618_11164@[i]]

尽管此方法确实有效,但效率很低,并且当列表很大时会花费太多时间。我想知道构造这种字典的更优雅的方法吗?

提前致谢!

大佬总结

以上是大佬教程为你收集整理的如何在不使用嵌套for循环的情况下将两个列表合并到字典中全部内容,希望文章能够帮你解决如何在不使用嵌套for循环的情况下将两个列表合并到字典中所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。