Я пытаюсь добавить несколько регулярных выражений в одно «Понимание списка», из того, что я прочитал в Интернете, представляется возможным использование нескольких операторов else, хотя я не могу заставить его работать:
def normalise(token):
print(["NUM" if token.isdigit()
else "Nth" if token in "[\d]+(st|nd|rd|th)"
else token for token in token])
normalise(["Within","5","minutes",",","the", "1st", "and",
"2nd", "placed", "runners", "lapped", "the", "5th","."])
То, что я пытаюсь сделать, это изменить числа с NUM и токены, представляющие место (1, 2, 3 и т. Д.), Которые должны быть заменены на Nth.Все остальные токены не изменены.Первое регулярное выражение isdigit () работает совершенно нормально, хотя я не уверен, как успешно вставить второе, оно просто игнорируется.Если это возможно с 2 регулярными выражениями, то это означает, что возможно с таким количеством регулярных выражений, сколько я хочу?