繁体   English   中英

如何删除存储在 python 列表中的子列表

[英]how to remove a sublist stored in a list in python

我想使用 numpy 数组创建一个列表。 我想导出数组中值的差异以及该数组的第一个值:

my_array=np.array([1, 4, 10])

首先,我找出差异:

differs=np.diff(my_array)

它给了我:

array([3, 6])

但我想拥有:

[1, 3, 6]

我尝试了以下方法:

sep=[my_array[0], np.diff(my_array)]

但它给了我:

[1, array([3, 6])]

我还尝试将数组转换为列表,但我又有一个子列表,我不知道如何只将该子列表的数字复制到我的主列表中。 为此,我尝试了:

sep=[my_array[0], [i for i in  np.diff(my_array)]]

它给了我:

[1, [3, 6]]

在此之前,我非常感谢任何帮助。

我会通过在喂给numpy.diff之前添加0来做到这一点,即:

import numpy as np
my_array=np.array([1, 4, 10])
differs=np.diff(np.hstack(([0],my_array)))
print(differs)

output:

[1 3 6]

请注意,这仅基于您的单个输入所需的 output 对,因此请针对您可能遇到的其他情况进行测试,并写下它是否符合您的要求,如果不是实际的 output 和所需的 Z78E6221F6393F14CEZDZ666。

尝试:

sep=[my_array[0], *np.diff(my_array)]

[1, 3, 6]

numpy.diff有一个参数:

my_array=np.array([1, 4, 10])
res = np.diff(my_array,prepend=0)

output:

[1 3 6]

你在正确的轨道上,你只需要添加prepend参数来分配起始值:

np.diff(my_array, prepend=0)
array([1, 3, 6])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM