Wiem o islower
i isupper
, ale czy możesz sprawdzić, czy ta postać jest literą? Na przykład:
>>> s = 'abcdefg'
>>> s2 = '123abcd'
>>> s3 = 'abcDEFG'
>>> s[0].islower()
True
>>> s2[0].islower()
False
>>> s3[0].islower()
True
Czy jest jakiś sposób, aby po prostu zapytać, czy jest to postać, poza robieniem .islower()
lub .isupper()
?
character.isalnum() or character == "_"
.Odpowiedzi:
Możesz użyć
str.isalpha()
.Na przykład:
Wynik:
źródło
>>> print [x.isalpha() for x in u'Español-한국어']
podaje [True, True, True, True, True, True, True, False, True, True, True] zgodnie z oczekiwaniamiZwraca true, jeśli wszystkie znaki w ciągu są alfabetyczne i jest co najmniej jeden znak, w przeciwnym razie false. Znaki alfabetu to znaki zdefiniowane w bazie danych znaków Unicode jako „Litera”, tj. Takie, których ogólną właściwością kategorii jest „Lm”, „Lt”, „Lu”, „Ll” lub „Lo”. Zauważ, że różni się to od właściwości „Alphabetic” zdefiniowanej w standardzie Unicode.
W python2.x:
W python3.x:
Ten kod działa:
źródło
Znalazłem dobry sposób, aby to zrobić, używając funkcji i podstawowego kodu. Jest to kod, który akceptuje ciąg i zlicza wielkie i małe litery, a także „inne”. Inne są klasyfikowane jako spacje, znaki interpunkcyjne, a nawet znaki japońskie i chińskie.
źródło
str.isalpha
jest dużo łatwiejsze ”data = "abcdefg hi j 12345"
Wynik:
Używając
str.isalpha()
możesz sprawdzić, czy jest to list.źródło
To działa:
źródło
To działa:
źródło