본문 바로가기
파이썬

파이썬 서수 대체

by º기록 2020. 9. 17.
반응형

나는 현재 첫 번째, 두 번째, 세 번째, ...와 같은 단어를 적절한 서수 표현 (1st, 2nd, 3rd)으로 바꾸는 방법을 찾고 있습니다. 지난주 동안 인터넷 검색을했는데 유용한 표준 도구 나 NLTK의 기능을 찾지 못했습니다.

그래서 수동으로 정규 표현식을 작성해야합니까?

조언 감사합니다

 

해결 방법

 


ordinal = lambda n: "%d%s" % (n,"tsnrhtdd"[(n//10%10!=1)*(n%10<4)*n%10::4])

모든 번호에서 작동 :

print([ordinal(n) for n in range(1,32)])

['1st', '2nd', '3rd', '4th', '5th', '6th', '7th', '8th', '9th', '10th',
 '11th', '12th', '13th', '14th', '15th', '16th', '17th', '18th', '19th',
 '20th', '21st', '22nd', '23rd', '24th', '25th', '26th', '27th', '28th',
 '29th', '30th', '31st']

 

참조 페이지 https://stackoverflow.com/questions/9647202

 

 

반응형

댓글