我想从int中得到每个x位,并将这些x位映射到一个列表中,这样我们就有了一个包含32/x元素的列表。你知道吗
例如,数字0xFEBA1234每4位提取一次,结果是[15,14,11,10,1,2,3,4]。你知道吗
一般我们可以这样写函数
def get_xbits_list(num, x):
result = []
mask = 2**x - 1
for i in xrange(32/x):
result.append((num >> (i * x)) & mask)
result.reverse()
return result
问题是:
有什么简单的方法可以重写这个函数在一个或两个地图或其他地图函数行。你知道吗
是的,有一个较短的方法(使用列表理解):
如果您真的想使用
map
:注意,我将} returns a float in Python 3 。你知道吗
32/x
更改为32//x
,以显式指定楼层划分,因为^{相关问题 更多 >
编程相关推荐