สิ่งที่ต้องการด้านล่าง:
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 รหัสนั่นไม่ใช่แค่ตัวอักษรเท่านั้น