я следующий код:Python все итерируемыми соответствуют условиям
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
Мой вопрос, как проверить, если все итерируемыми соответствует условию. В этом примере элементы списка должны соответствовать regex
. Я думаю, мое решение этой проблемы «неуклюжие», а не «элегантные». Я читал о all()
, но не смог выполнить его.
Все предложения по улучшению этого кода?
я не могу предположить, что они совпадают - для многих позиций в списке, так что я не могу Гест, если она соответствует – Fangir