第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Python 2d 數(shù)組布爾歸約

Python 2d 數(shù)組布爾歸約

湖上湖 2021-07-17 18:11:07
我有一個(gè)由布爾值(真、假)組成的二維數(shù)組。我想根據(jù)內(nèi)容的邏輯函數(shù)將數(shù)組合并為一維。例如 輸入:[[True, True, False], [False, False, False], [True, True, True]]輸出(邏輯與):[False, False, True]如果沒有循環(huán),這將如何完成?
查看完整描述

3 回答

?
料青山看我應(yīng)如是

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)工作。


查看完整回答
反對 回復(fù) 2021-07-20
?
偶然的你

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]


查看完整回答
反對 回復(fù) 2021-07-20
  • 3 回答
  • 0 關(guān)注
  • 213 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)