Sesuatu seperti di bawah ini:
import ascii
print ascii.charlist()
Yang akan menghasilkan sesuatu seperti [A, B, C, D ...]
Sesuatu seperti di bawah ini:
import ascii
print ascii.charlist()
Yang akan menghasilkan sesuatu seperti [A, B, C, D ...]
Jawaban:
The string
konstanta mungkin apa yang Anda inginkan. ( dokumen )
>>> impor string >>> string.ascii_uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
Jika Anda ingin semua karakter yang dapat dicetak:
>>> string.printable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ! "# $% & \' () * +, -. /:;? @ [\\] ^ _` {|} ~ \ t \ n \ r \ x0b \ x0c '
string.ascii_letters
adalah seluruh shebang!
string.letters
... string.printable
lebih dekat (tetapi tidak sama) dengan apa yang dimaksud @Andrey.
string.printable
memberikan semua karakter yang dapat dicetak.
Ini dia:
[chr(i) for i in xrange(127)]
String
modul sudah tidak digunakan lagi, ini adalah jawaban terbaik
string
modulnya hanya sebagian tidak digunakan lagi
range(127)
, karena range
telah dihapus dan xrange
dinamai ulang. Juga, untuk mendapatkan karakter Unicode dalam Python 2 Anda harus memanggil unichr(i)
tetapi dengan Python 3 cukupchr(i)
ASCII mendefinisikan 128 karakter yang nilai byte-nya berkisar dari 0 hingga 127 inklusif. Jadi untuk mendapatkan string dari semua karakter ASCII, Anda bisa melakukannya
''.join([chr(i) for i in range(128)])
Hanya beberapa di antaranya yang dapat dicetak, namun- karakter ASCII yang dapat dicetak dapat diakses dengan Python melalui
import string
string.printable
Anda dapat melakukan ini tanpa modul:
characters = list(map(chr, range(97,123)))
Ketik characters
dan itu harus dicetak ["a","b","c", ... ,"x","y","z"]
. Untuk penggunaan huruf besar:
characters=list(map(chr,range(65,91)))
Rentang apa pun (termasuk penggunaan langkah rentang) dapat digunakan untuk ini, karena menggunakan Unicode. Oleh karena itu, tambah range()
untuk menambahkan lebih banyak karakter ke daftar.
map()
memanggil chr()
setiap iterasi range()
.
Tidak, tidak ada, tetapi Anda dapat membuatnya dengan mudah:
#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
, Anda mengklaim "tidak, tidak ada"?
a
sampaiz
tapi dari 0 sampai 127 kode, itu bukan hanya huruf.