加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

将True和False答案的数组更改为十六进制值Python

发布时间:2020-12-20 11:37:27 所属栏目:Python 来源:网络整理
导读:我有一个真假答案的列表,如下所示: [True,True,False,False][True,True][True,True][False,False][False,False] 我想将True赋值为1,将False赋值为0,然后将该整体值转换为十六进制. 我该怎么做呢?我可以在列表中依次查看每个值,如果它等于’True’,则将该值
我有一个真假答案的列表,如下所示:

[True,True,False,False]
[True,True]
[True,True]
[False,False]
[False,False]

我想将True赋值为1,将False赋值为0,然后将该整体值转换为十六进制.
我该怎么做呢?我可以在列表中依次查看每个值,如果它等于’True’,则将该值更改为1,如果其’False’将值更改为0,或者是否有更简单的方法可以将整个列表直接更改为十六进制?

编辑:这是Pastebin上的完整代码:http://pastebin.com/1839NKCx

谢谢

解决方法

lists = [
    [True,False],[True,True],[False,]

for l in lists:
    zero_one = map(int,l)  # convert True to 1,False to 0  using `int`
    n = int(''.join(map(str,zero_one)),2)  # numbers to strings,join them
                                             # convert to number (base 2)
    print('{:02x}'.format(n))  # format them as hex string using `str.format`

输出:

e4
c9
93
27
4e
9c
39
72

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读