gpt4 book ai didi

python - 如何复制列表/数组中的特定值?

转载 作者:太空狗 更新时间:2023-10-29 21:35:56 26 4
gpt4 key购买 nike

关于如何在 Python 中重复数组中的某个值有什么建议吗?例如,我只想在 array_a 中重复 2:

array_a = [1, 2, 1, 2, 1, 1, 2]

想要的结果是:我重复每个 2 并留下 1:

array_a = [1, 2, 2, 1, 2, 2, 1, 1, 2, 2]  # only the `2` should be repeated

我尝试了 numpy,我可以复制整个数组,但不能复制某个值。

最佳答案

如果您对 numpy 解决方案感兴趣,可以使用 np.repeat 在自身上重复数组。

>>> import numpy as np
>>> np.repeat(array_a, array_a)
array([1, 2, 2, 1, 2, 2, 1, 1, 2, 2])

这仅在您的数据中包含 1 和 2 时有效。对于通用解决方案,请考虑

>>> n_repeats = 2
>>> temp = np.where(np.array(array_a) == 2, n_repeats, 1)
>>> np.repeat(array_a, temp)
array([1, 2, 2, 1, 2, 2, 1, 1, 2, 2])

关于python - 如何复制列表/数组中的特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52323208/

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