gpt4 book ai didi

python list - 只保留正值或负值

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

在 Python 中,我有一个包含数千个数字(负数和正数)的列表。

我想要的是消除列表中出现的正数和负数。所以我只想保留列表中出现的数字,要么是正数,要么是负数。

示例:list = (1, 2, 3, -1, -2, -5, 6, 7, -6) 应该得到 (3, -5, 7 )

谢谢!

最佳答案

您可以通过 set 使用散列来确保平均情况下的 O(n) 复杂度。

from operator import neg

A = [1, 2, 3, -1, -2, -5, 6, 7, -6]
A_set = set(A)
exc = A_set & set(map(neg, A_set))
res = [i for i in A if i not in exc]

# [3, -5, 7]

关于python list - 只保留正值或负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52111532/

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