如何使用Python获得所有ASCII字符的列表?



我正在寻找如下内容:

import ascii
print(ascii.charlist())

将返回类似于["A", "B", "C", "D" ... ]的内容。

string模块中的常量可能是您想要的。

所有ASCII大写字母:

>>> import string
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

所有可打印ASCII字符:

>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ tnrx0bx0c'

对于ASCII标准中定义的每个字符,使用chr:

>>> ''.join(chr(i) for i in range(128))
'x00x01x02x03x04x05x06x07x08tnx0bx0crx0ex0fx10x11x12x13x14x15x16x17x18x19x1ax1bx1cx1dx1ex1f !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x7f'

如下:

[chr(i) for i in range(128)]

ASCII定义了128个字符,字节值从0到127不等。要获得所有ASCII字符的字符串,只需输入

''.join(chr(i) for i in range(128))

只有100个被认为是可打印的。可打印的ASCII字符可以通过

访问
import string
string.printable

由于ASCII可打印字符是一个相当小的列表(包含32到126之间的值的字节),因此在需要时很容易生成:

>>> 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()range()的每次迭代中调用chr()

for i in range(0, 128):
    print(chr(i))

不,没有,但你可以很容易地创建一个:

    #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

相关内容

  • 没有找到相关文章

最新更新