gpt4 book ai didi

python - 将列表的列表转换为 Numpy 数组而不携带列表

转载 作者:行者123 更新时间:2023-11-28 20:58:34 24 4
gpt4 key购买 nike

我正在尝试将列表列表和列表中的一些其他数字转换为 numpy 数组。

到目前为止,我已经尝试过了,但列表仍然会转移到数组中:

ll = [['119', '222', '219', '293'], '4', ['179', '124', '500', '235'], '7']
arrays = np.array(ll)

输出是:

array([list(['119', '222', '219', '293']), '4', list(['179', '124', '500', '235']), '7'], dtype=object)

我想要的输出是这样的:

[(array([ 119, 222, 219, 293]), 4), (array([ 179,  124, 500, 235]), 7)]

有没有办法做到这一点。在过去的两天里,我一直在努力得到这个。

最佳答案

由于您想将每两个元素分组为一个元组,然后将每个元组的第一个元素转换为一个 numpy 数组,您可以使用列表推导式 zip:

[(np.array(i, dtype=int), int(j)) for i, j in zip(ll[::2], ll[1::2])]

# Result
[(array([119, 222, 219, 293]), 4), (array([179, 124, 500, 235]), 7)]

请注意,我在 numpy 数组构造函数中指定了一个 dtype 以将数组转换为整数。

如果您担心在此处复制列表的两个副本,您也可以简单地使用基于范围的索引:

[(np.array(ll[i], dtype=int), int(ll[i+1])) for i in range(0, len(ll), 2)]

关于python - 将列表的列表转换为 Numpy 数组而不携带列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51564683/

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