gpt4 book ai didi

Python:将 2D numpy 数组转换为字典

转载 作者:太空宇宙 更新时间:2023-11-03 15:02:28 25 4
gpt4 key购买 nike

考虑我有一个像这样的数组:

c = [["a","b","a"],[1,2,3]]

现在我需要将这两部分组合起来,我想将其转换为字典,该字典计算组合发生的频率(值是出现的次数)。它应该看起来像这样:

combinations = {("a",1):1, ("b",2):1, ("a",3):1)}

我是一个完全的初学者,有一些方法,例如:

(c[0][0],[-1][0]),(c[0][1],[-1][1]),...

等等。用于创建我需要的对,但是如果我的数组大小不同(两个部分应该保持相同的大小),这不是很有用。另外,我不知道如何将出现次数作为值。

非常感谢任何帮助!

最佳答案

您可以使用 zip 组合 2 个子列表,并使用 count 对列表中的特定元素进行计数。

    >>> c = [['a','b','a','a'],[1,2,3,1]]
>>> pairs = zip(c[0],c[1])
>>> pairs
[('a', 1), ('b', 2), ('a', 3), ('a', 1)]

>>> result = {i: pairs.count(i) for i in pairs}
>>> result
{('a', 1): 2, ('b', 2): 1, ('a', 3): 1}

最后一个命令使用 Dict Comprehension

关于Python:将 2D numpy 数组转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44947753/

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