考慮一些二維串列:
a = [[1,2,3,4],
[5,6,7,None]]
b = [[1,2,3,4],
[5,6,7,8]]
如何檢查二維串列中是否至少有一個None ?
輸出:處理 a 應該輸出一個 bool 值False,而 b 應該輸出True。
當串列是二維串列時,我不知道。
uj5u.com熱心網友回復:
您可以使用兩個回圈,一個在另一個內部。
def at_least_one_none(array):
for row in array:
for item in row:
if item == None:
return True
return False
這可以通過使用None in row而不是內部回圈來簡化。
def at_least_one_none(array):
for row in array:
if None in row:
return True
return False
兩者都可以使用any()生成器運算式撰寫:
def at_least_one_none(array):
return any(None in row for row in array)
那時你幾乎不需要這個功能。
uj5u.com熱心網友回復:
True如果第二個串列至少包含一個,則此函式回傳None,否則回傳False
a = [[1,2,3,4],
[5,6,7,None]]
b = [[1,2,3,4],
[5,6,7,8]]
def fun(a_list):
for l in a_list:
if None in l:
return True
return False
print(fun(a))
print(fun(b))
輸出:
True
False
uj5u.com熱心網友回復:
在這里,您首先將所有串列合并為一個,然后None單獨檢查該值是否存在,然后回傳[True, True,..False]. 最后檢查其中是否有任何 True 。
代碼:
True in [i==None for i in sum(<YourList>,[])] #returning True with None
或者從串列中過濾掉 None 然后檢查它是否仍然是相同的大小
list(filter(None, sum(<Yourlist>,[])))!=len(<Yourlist>) #returning False with None
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/518167.html
上一篇:Python簡單的延遲加載
下一篇:以yaml格式寫入時如何解碼檔案
