3 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
我假設(shè)您想對行應(yīng)用邏輯與。你可以申請numpy.all。
>>> import numpy as np
>>> a = np.array([[True, True, False], [False, False, False], [True, True, True]])
>>> a
array([[ True, True, False],
[False, False, False],
[ True, True, True]])
>>>
>>> np.all(a, axis=1)
array([False, False, True])
對于沒有 的解決方案numpy,您可以使用operator.and_和functools.reduce。
>>> from operator import and_
>>> from functools import reduce
>>>
>>> lst = [[True, True, False], [False, False, False], [True, True, True]]
>>> [reduce(and_, sub) for sub in lst]
[False, False, True]
編輯:實(shí)際上,reduce在這種特殊情況下有點(diǎn)多余。
>>> [all(sub) for sub in lst]
[False, False, True]
也能完成這項(xiàng)工作。

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
你也可以在沒有 NumPy 的情況下做到這一點(diǎn)。這是使用列表理解的一種解決方案。說明:它將遍歷子列表,即使每個(gè)子列表中的一項(xiàng)是False,它也會(huì)輸出Falseelse True。
inp = [[True, True, False],[False, False, False],[True, True, True]]
out = [False if False in i else True for i in inp]
print (out)
# [False, False, True]
如下 Jean 建議的替代方案(不那么冗長):
out = [False not in i for i in inp]
添加回答
舉報(bào)