2024-10-01 04:45:21 发布
网友
我需要在python2/3中将十六进制字符串转换为list或int数组,而不测试python版本或循环:
s='c951ede6'
expectedResult = '[201, 81, 237, 230]'
expectedResult可以是数组或列表
我怎么能做到呢?在
result = [int(s[i:i+2], 16) for i in range(0, len(s), 2)]
没有一个真正的方法可以做到“没有循环”。您可以将循环推送到本机代码,但它们并不是“在Python中”。在
@Ajax1234
首先让我感谢您的unhexlify部分,因为我确实需要它。 第二,我想出了一种方法,让它可以移植到python2和python2和3上。 以下是整个代码:
unhexlify
import binascii import numpy as np s='c951ede6' new_s = binascii.unhexlify(s) expectedResult = np.fromstring( new_s, dtype=np.uint8 )
您可以使用binascii
binascii
import binascii s='c951ede6' new_s = binascii.unhexlify(s) #for python 3: expectedResult = list(new_s) #for Python2: expectedResult = map(ord, mew_s)
输出:
没有一个真正的方法可以做到“没有循环”。您可以将循环推送到本机代码,但它们并不是“在Python中”。在
@Ajax1234
首先让我感谢您的
unhexlify
部分,因为我确实需要它。 第二,我想出了一种方法,让它可以移植到python2和python2和3上。 以下是整个代码:您可以使用
binascii
输出:
^{pr2}$相关问题 更多 >
编程相关推荐