gpt4 book ai didi

python - 使用 bool 索引数组过滤列表

转载 作者:太空狗 更新时间:2023-10-30 02:03:32 26 4
gpt4 key购买 nike

如何在不使用 numpy 的情况下使用 bool 索引数组来过滤列表?

例如:

>>> l = ['a','b','c']
>>> b = [True,False,False]
>>> l[b]

结果应该是:

['a']

我知道 numpy 支持它,但想知道如何在 Python 中解决。

>>> import numpy as np
>>> l = np.array(['a','b','c'])
>>> b = np.array([True,False,False])
>>> l[b]
array(['a'],
dtype='|S1')

最佳答案

Python 不支持 bool 索引但是 itertools.compress功能完全符合您的要求。它返回一个迭代器,这意味着您需要使用 list 构造函数返回一个列表。

>>> from itertools import compress
>>> l = ['a', 'b', 'c']
>>> b = [True, False, False]
>>> list(compress(l, b))
['a']

关于python - 使用 bool 索引数组过滤列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30837803/

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