我想檢查串列中是否存在子字串。但我無法遍歷它,因為它有布林值。我正在嘗試將布林值轉換為 str(booleans) 但這有必要嗎?我相信一定有另一種有效的方法而不改變資料

def replace_falseTrue_as_strings(lst):
for i in lst:
if isinstance(i,list):
for j in i:
if all(not isinstance(j,list)):
for k in j:
k_new.append(str(k))
return k
if any(isinstance(j,list)):
return replace_falseTrue_as_strings(j)
else:
i_new.append(str(i))
return j_new
uj5u.com熱心網友回復:
您可以添加型別檢查:
any( (isinstance(x, str) and 'abl' in x) for x in some_list)
如果x不是字串(這里isinstance(x, str)是布林值),則為 False 并且不檢查第二個成員,這避免了 TypeError。
uj5u.com熱心網友回復:
嘗試這個 :
any('abl' in x for x in your_list if isinstance(x, str))
它檢查串列中每個專案的型別,并且僅當它是字串時才繼續。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/375884.html
