我需要将数字列表转换为相应字符列表。我尝试使用chr()
函数,例如:
numlist= [122, 324, 111, 789, 111]
chr(numlist)
我遇到的问题是chr()
函数只能接受一个参数,并且不能将数字列表转换为字母列表。我怎么能这样做?
答案 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']