gpt4 book ai didi

python - 将所有列表值连接到python中的数组

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:12 26 4
gpt4 key购买 nike

我想将 python 字典中的所有 numpy 数组(所有相同大小)连接到一个新数组。

dict = {'some_key_1':np.array([1,2,3,4]), 'some_key_2':np.array([2,3,4,5]), ...}

我希望看到的结果是:

result = np.array([[1,2,3,4],[2,3,4,5]])

最好的方法是什么?

编辑:python 2 和 3 的解决方案似乎略有不同。已接受的答案解决了 python 3 的问题。

最佳答案

在 Python 3 中,您需要先将 dict.values() 转换为列表。

The objects returned by dict.keys(), dict.values() and dict.items() are view objects. They provide a dynamic view on the dictionary’s entries, which means that when the dictionary changes, the view reflects these changes. (https://docs.python.org/3/library/stdtypes.html#typesmapping)

import numpy as np
data = {'some_key_1':np.array([1,2,3,4]), 'some_key_2':np.array([2,3,4,5])}
print(np.array(list(data.values())))
# [[1 2 3 4]
# [2 3 4 5]]

你得到一个二维数组,其中的行是随机排列的(Python dict 是无序的)。

要获得一维数组,您可以使用 np.concatenate :

print(np.concatenate(list(data.values())))
# [1 2 3 4 2 3 4 5]

如果顺序很重要,您可以使用元组列表或 OrderedDict而不是 dict

关于python - 将所有列表值连接到python中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43806212/

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