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