二进制到整数,python,字典

时间:2013-12-28 11:45:19

标签: python dictionary binary converter

我有一个字典,其中键是二进制字符串。我想做的是转换 二进制字符串为普通数,整数。

如何对dict中的所有键执行此操作?我已经考虑过for循环,但不确定它的外观。

d={'000': 'A', '001': 'B', '010': 'C'}

输出

0 1 2  而不是二进制

3 个答案:

答案 0 :(得分:3)

>>> dict={'000': 'A', '001': 'B', '010': 'C'}
>>> 
>>> [int(ele, 2) for ele in dict]
[2, 1, 0]
>>> # getting this shuffled, since the `dict items` are `random`
>>>
>>> {int(k, 2): v for k, v in dict.items()}
{0: 'A', 1: 'B', 2: 'C'}

答案 1 :(得分:0)

你可以使用的是列表理解和内置int函数:

>>> d = {'000': 'A', '001':'B', '111':'C'}
>>> list(int(x, 2) for x in d.keys())
[0, 1, 7]

int函数有第二个参数,它是要转换的数字的基础。二进制使用2。

答案 2 :(得分:0)

>>> d = {'000': 'A', '001': 'B', '010': 'C'}
>>> dict((int(a,2),b) for (a,b) in d.iteritems())
{0: 'A', 1: 'B', 2: 'C'}