我需要从随机整数 (0-255) 列表中创建一串十六进制数字。每个十六进制数字应由两个字符表示:5 - “05”、16 - “10”等。
例子:
Input: [0,1,2,3,127,200,255], Output: 000102037fc8ff
我想出了:
#!/usr/bin/env python
def format_me(nums):
result = ""
for i in nums:
if i <= 9:
result += "0%x" % i
else:
result += "%x" % i
return result
print format_me([0,1,2,3,127,200,255])
但是,这看起来有点尴尬。有没有更简单的方法?
最佳答案
为了完整起见,使用现代 .format()
语法:
>>> numbers = [1, 15, 255]
>>> ''.join('{:02X}'.format(a) for a in numbers)
'010FFF'
https://stackoverflow.com/questions/5661725/