将整数格式化为十六进制字符串 [英] Format ints into string of hex

查看:18
本文介绍了将整数格式化为十六进制字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从随机整数 (0-255) 列表中创建一串十六进制数字.每个十六进制数字应由两个字符表示:5 - 05"、16 - 10"等.

例子:

<块引用>

输入:[0,1,2,3,127,200,255],输出:000102037fc8ff

我想出了:

#!/usr/bin/env pythondef format_me(nums):结果 = ""对于我在 nums 中:如果我 <= 9:结果 += "0%x" % i别的:结果 += "%x" % i返回结果打印格式_me([0,1,2,3,127,200,255])

但是,这看起来有点尴尬.有没有更简单的方法?

解决方案

''.join('%02x'%i for i in input)

I need to create a string of hex digits from a list of random integers (0-255). Each hex digit should be represented by two characters: 5 - "05", 16 - "10", etc.

Example:

Input: [0,1,2,3,127,200,255], 
Output: 000102037fc8ff

I've managed to come up with:

#!/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])

However, this looks a bit awkward. Is there a simpler way?

解决方案

''.join('%02x'%i for i in input)

这篇关于将整数格式化为十六进制字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆