【问题标题】:Binary to integer, python, dictionary [closed]二进制到整数,python,字典[关闭]
【发布时间】:2014-01-15 20:10:34
【问题描述】:

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

如何对字典中的所有键执行此操作?我曾考虑过一个 for 循环,但不确定它的外观。

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

输出

0 1 2 而不是二进制

【问题讨论】:

  • “我想过一个 for 循环,但不确定它的外观。” - 就开始写吧,自然而然...
  • 作为旁注:不要不要覆盖内置函数 (dict)。
  • 预期的输出是什么?
  • 我只是在这里命名为 dict 呵呵

标签: python dictionary binary converter


【解决方案1】:
>>> 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'}

【讨论】:

    【解决方案2】:

    您可以使用列表推导和内置 int 函数:

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

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

    【讨论】:

      【解决方案3】:
      >>> d = {'000': 'A', '001': 'B', '010': 'C'}
      >>> dict((int(a,2),b) for (a,b) in d.iteritems())
      {0: 'A', 1: 'B', 2: 'C'}
      

      【讨论】:

        猜你喜欢
        • 2023-03-15
        • 1970-01-01
        • 2016-12-16
        • 2013-08-24
        • 2014-06-10
        • 2018-11-02
        • 2017-09-04
        • 2013-01-13
        • 2011-12-30
        相关资源
        最近更新 更多