สิ่งที่ต้องการด้านล่าง:
import ascii
print ascii.charlist()
ซึ่งจะคืนค่าบางอย่างเช่น [A, B, C, D ... ]
สิ่งที่ต้องการด้านล่าง:
import ascii
print ascii.charlist()
ซึ่งจะคืนค่าบางอย่างเช่น [A, B, C, D ... ]
คำตอบ:
string
คงอาจจะเป็นสิ่งที่คุณต้องการ ( เอกสาร )
>>> สตริงนำเข้า >>> string.ascii_uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
หากคุณต้องการอักขระที่พิมพ์ได้ทั้งหมด:
>>> string.printable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ! "# $% & \' () * +, -. /:; @ [\\] ^ _` {|} ~ \ t \ n \ r \ x0b \ x0c '
string.ascii_letters
เป็น Shebang ทั้งหมด!
string.letters
... string.printable
ใกล้ชิด (แต่ไม่เหมือนกัน) กับสิ่งที่ @Andrey อ้างถึงแม้ว่า
string.printable
ให้อักขระที่พิมพ์ได้ทั้งหมด
นี่คือ:
[chr(i) for i in xrange(127)]
String
โมดูลเลิกใช้งานแล้วนี่คือคำตอบที่ดีที่สุด
string
โมดูลนี้เลิกใช้งานไปแล้วบางส่วนเท่านั้น
range(127)
เนื่องจากrange
ถูกลบออกและxrange
ตั้งชื่อใหม่ นอกจากนี้ยังจะได้รับตัวอักษร Unicode ในหลาม 2 คุณควรจะเรียกunichr(i)
แต่ในหลาม 3 เพียงchr(i)
ASCII กำหนดอักขระ 128 ตัวที่มีค่าไบต์ตั้งแต่ 0 ถึง 127 รวม เพื่อให้ได้สตริงของอักขระ ASCII ทั้งหมดคุณสามารถทำได้
''.join([chr(i) for i in range(128)])
มีเพียงบางส่วนเท่านั้นที่สามารถพิมพ์ได้อย่างไรก็ตาม - อักขระ ASCII ที่พิมพ์ได้สามารถเข้าถึงได้ใน Python ผ่านทาง
import string
string.printable
เนื่องจากอักขระที่พิมพ์ได้ ASCII เป็นรายการที่ค่อนข้างเล็ก (ไบต์ที่มีค่าระหว่าง 32 ถึง 127) จึงง่ายพอที่จะสร้างเมื่อคุณต้องการ:
>>> for c in (chr(i) for i in range(32,127)):
... print c
...
!
"
#
$
%
... # a few lines removed :)
y
z
{
|
}
~
คุณสามารถทำได้โดยไม่ต้องใช้โมดูล:
characters = list(map(chr, range(97,123)))
พิมพ์และมันควรจะพิมพ์characters
["a","b","c", ... ,"x","y","z"]
สำหรับการใช้ตัวพิมพ์ใหญ่:
characters=list(map(chr,range(65,91)))
สามารถใช้ช่วงใดก็ได้ (รวมถึงการใช้ขั้นตอนช่วง) เนื่องจากใช้ Unicode ดังนั้นให้เพิ่มrange()
เพื่อเพิ่มอักขระเพิ่มเติมในรายการ
map()
เรียกchr()
ทุกการทำซ้ำของไฟล์range()
.
ไม่ไม่มี แต่คุณสามารถสร้างได้อย่างง่ายดาย:
#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
คุณอ้างว่า "ไม่ไม่มี"?
a
ถึงถึงz
แต่จาก 0 ถึง 127 รหัสนั่นไม่ใช่แค่ตัวอักษรเท่านั้น