将数字列表转换为字符

时间:2014-11-09 11:58:23

标签: python

我需要将数字列表转换为相应字符列表。我尝试使用chr()函数,例如:

numlist= [122, 324, 111, 789, 111]
chr(numlist)

我遇到的问题是chr()函数只能接受一个参数,并且不能将数字列表转换为字母列表。我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

您需要迭代numlist并转换每个项目,创建一个新列表:

characters = [chr(n) for n in numlist]   # Use unichr instead in Python 2.
# ['z', 'ń', 'o', '̕', 'o']

答案 1 :(得分:1)

map

中尝试python3功能
In [5]: list(map(chr,numlist))
Out[5]: ['z', 'ń', 'o', '̕', 'o']

答案 2 :(得分:0)

chr参数的

必须在0到255的范围内,因为char只处理ASCII,即8位,2 ^ 8 - > 256 如果大于255,则应在python 2.x中使用unichr

>>> [ unichr(x) for x in numlist ]
[u'z', u'\u0144', u'o', u'\u0315', u'o']

如果您将chr应用于大于255,则会获得ValueError

>>> chr(256)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: chr() arg not in range(256)

在python 3x中:

[ chr(x) for x in numlist ]
['z', 'ń', 'o', '̕', 'o']