在檢查列表中含有tuple的座標點時,若要給其他演算法做運算時若有其中有tuple有空值時,就會報錯。
本文主要介紹兩種方法可以檢查是否有空值
positon_list =[(42,123),(None,None),(22,11)]
for cord in positon_list:
for item in cord:
if item is None:
not_None = False
break
print(not_None) #False
利用生成器表達式來用一行代替兩層for迴圈
input_list = [(42, 292),(28, 296),(999, 92),(993, 46),(219, 4),(279, 2),(None, None),(None, None)]
not_None = all(item is not None for coord in input_list for item in coord)
print(not_None) # False
使用 all
函數:
not_None = all(item is not None for coord in input_list for item in coord)
這行程式碼使用了 Python 的內建函數 all
和一個生成器表達式來檢查 input_list
中的所有項目是否都不是 None
。
all
函數:all
函數接收一個可迭代對象,當所有元素都為真時返回 True
,否則返回 False
。item is not None for coord in input_list for item in coord
合併起來,這個生成器表達式檢查 input_list
中每個元組的每個元素是否都不是 None
,如果所有元素都不是 None
,則 all
函數返回 True
,否則返回 False
。