1
我有以下代碼:Python中的所有iterables符合條件
from re import match, compile
list1 = ['AB12345', 'AB12345', 'AB12345', 'AB12345', 'AB12345', 'AB12345', 'AB12345', 'AB12345', 'AB12345']
list2 = ['AB12345', 'WLADEK', 'AB12345', 'AB12345', 'STEFAN', 'AB12345', 'AB12345', 'AB12345', 'ZENEK']
def iterChecker(list):
regex = compile("([A-Z]{2})(\d+)")
checker = []
for l in list:
if regex.match(l):
checker.append(l)
if len(checker) == len(list):
print("Everything is ok")
else:
print("Elements that do not match: %s" % l)
iterChecker(list1)
print("###################")
iterChecker(list2)
輸出:
Everything is ok
###################
Elements that do not match: WLADEK
Elements that do not match: STEFAN
Elements that do not match: ZENEK
我的問題是,如何檢查是否所有iterables符合條件。在這個例子中,列表元素應該匹配regex
。我認爲,我對這個問題的解決方案是「笨拙」,而不是「優雅」。我正在閱讀all()
,但因實施失敗。
任何建議,以改善此代碼?
我不能假定它們匹配 - 在列表中的許多位置,所以我不能客串,如果它匹配 – Fangir