python - 如何以 0x 为前缀并用 python 中的数字列表分隔
问题描述
我有一个数字列表如下
18 8E 08 83 78 0F ED 63 A4 70 13 AB 78 6C 12 84 86 7F 40 BE 58 E6
如何0x
在所有数字前面附加并用逗号(,
)分隔,这样我就可以得到
0x18, 0x8E, 0x08, 0x83 ,....
解决方案
选项 1
使用split
和join
与列表推导
s = '18 8E 08 83 78 0F ED 63 A4 70 13 AB 78 6C 12 84 86 7F 40 BE 58 E6'
s = ', '.join(['0x{}'.format(i) for i in s.split()])
# Result
'0x18, 0x8E, 0x08, 0x83, 0x78, 0x0F, 0xED, 0x63, 0xA4, 0x70, 0x13, 0xAB, 0x78, 0x6C, 0x12, 0x84, 0x86, 0x7F, 0x40, 0xBE, 0x58, 0xE6'
选项 2
使用split
andjoin
withmap
', '.join(map('0x{}'.format, s.split()))
# Result
'0x18, 0x8E, 0x08, 0x83, 0x78, 0x0F, 0xED, 0x63, 0xA4, 0x70, 0x13, 0xAB, 0x78, 0x6C, 0x12, 0x84, 0x86, 0x7F, 0x40, 0xBE, 0x58, 0xE6'
选项 3
re.sub
re.sub(r'(\w+)', r'0x\1,', s)[:-1]
# Result
'0x18, 0x8E, 0x08, 0x83, 0x78, 0x0F, 0xED, 0x63, 0xA4, 0x70, 0x13, 0xAB, 0x78, 0x6C, 0x12, 0x84, 0x86, 0x7F, 0x40, 0xBE, 0x58, 0xE6'
推荐阅读
- jackson-dataformat-xml - 自定义实体导致的 Jackson XML“未声明的一般实体”
- emacs - Emacs,从 spacemacs 窃取 helm 配置
- mysql - ERROR 1205 (HY000): 超过锁定等待超时;删除时尝试重新启动事务
- javascript - 序列化对象时如何在javascript或打字稿中省略“未定义”列
- python - 在生成器电子邮件站点中使用 Python 请求
- swift - 使用 SwiftUI 对图像进行下采样
- java - 尝试访问动态数据时获取空对象引用 - Android Studio
- sql - 在 SQL Server 中生成稳定的随机数
- reactjs - PayuMoney 在 React JS 中的集成
- android - 构建_BodyBuilder时引发了以下StackOverflowError:Firebase.initializeApp()之后的堆栈溢出