我有一个字典,其中键是二进制字符串。我想做的是转换 二进制字符串为普通数,整数。
如何对dict中的所有键执行此操作?我已经考虑过for循环,但不确定它的外观。
d={'000': 'A', '001': 'B', '010': 'C'}
输出
0 1 2 而不是二进制
答案 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'}