Coś jak poniżej:
import ascii
print ascii.charlist()
Który zwróciłby coś w rodzaju [A, B, C, D ...]
Odpowiedzi:
Na string
stałe może być to, co chcesz. ( dokumenty )
>>> importuj ciąg >>> string.ascii_uppercase 'ABCDEFGHIJKLMNOPQRSTU VWXYZ'
Jeśli chcesz wszystkie drukowalne znaki:
>>> string.printable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ! "# $% & \' () * +, -. /:;? @ [\\] ^ _` {|} ~ \ t \ n \ r \ x0b \ x0c '
string.ascii_letters
to cały shebang!
string.letters
... string.printable
jest bliżej (ale nie to samo) do tego, do czego odnosił się @Andrey.
string.printable
daje wszystkie drukowalne znaki.
Oto ona:
[chr(i) for i in xrange(127)]
String
moduł jest przestarzały, jest to najlepsza odpowiedź
string
moduł jest tylko częściowo wycofany
range(127)
, ponieważ range
został usunięty i xrange
zmieniony. Ponadto, aby uzyskać znaki Unicode w Pythonie 2, powinieneś wywołać, unichr(i)
ale w Pythonie 3 po prostuchr(i)
ASCII definiuje 128 znaków, których wartości bajtów mieszczą się w zakresie od 0 do 127 włącznie. Aby uzyskać ciąg wszystkich znaków ASCII, możesz po prostu to zrobić
''.join([chr(i) for i in range(128)])
Jednak tylko niektóre z nich można wydrukować - do drukowalnych znaków ASCII można uzyskać dostęp w Pythonie przez
import string
string.printable
Możesz to zrobić bez modułu:
characters = list(map(chr, range(97,123)))
Wpisz characters
i powinno się wydrukować ["a","b","c", ... ,"x","y","z"]
. W przypadku używania wielkich liter:
characters=list(map(chr,range(65,91)))
Można do tego użyć dowolnego zakresu (w tym użycia kroków zakresu), ponieważ korzysta z Unicode. Dlatego zwiększ, range()
aby dodać więcej znaków do listy.
map()
wywołuje chr()
każdą iterację range()
.
Nie, nie ma, ale możesz łatwo to zrobić:
#Your ascii.py program:
def charlist(begin, end):
charlist = []
for i in range(begin, end):
charlist.append(chr(i))
return ''.join(charlist)
#Python shell:
#import ascii
#print(ascii.charlist(50, 100))
#Comes out as:
#23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc
string.printable
, twierdzisz „nie, nie ma”?
a
do,z
ale od 0 do 127 kodów, czyli nie tylko litery.