gpt4 book ai didi

python - 使用 numpy 过滤元组列表中的行

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:46 24 4
gpt4 key购买 nike

我正在寻找一种更快的方法来过滤元组列表,使用 numpy 并避免循环。

A = [(27157, 4),
(24814, 0),
(1047, 2),
(18265, 2),
(2857, 4),
(23854, 2),
(36881, 0)]

现在我必须根据第二个元素(即 4)对其进行过滤。如果“4”存在,则形成列表“B”,否则形成列表“C”。

即:

B = [(27157, 4),(2857, 4)]
C = [(24814, 0),(1047, 2),(18265, 2),(23854, 2),(36881, 0)]

最佳答案

通过 NumPy,您可以使用 bool 索引返回数组:

mask = A[:, 1] == 4
B = A[mask]
C = A[~mask]

这要求您的输入是一个 NumPy 数组:

A = np.array([(27157, 4),
(24814, 0),
(1047, 2),
(18265, 2),
(2857, 4),
(23854, 2),
(36881, 0)])

关于python - 使用 numpy 过滤元组列表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53267343/

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