Python的字符串与list与进制转换与字典转换的坑

  • 类型为int,并且只有0和1的list如何变成二进制数

list = [0, 1, 0, 1]变成 0b0101
思路是先变成list[“0101”],再变成十进制整数(可以强制转换),再变成二进制。

    t = "".join('%s' % N for N in list)
    list = bin(int(t, 2))
  • 还有就是已知一个字典,如何排序

可以使用sorted直接排序,但是这个排序不会改变字典,而是会返回一个元素为元组的列表!这个例子里store是个字典。这个是按照从小到大排序,如果降序排列只需要增加一个参数reverse="True"

sss = sorted(store.items(), key=lambda item:item[1])
for i in range(len(sss)):
    Y_.append(sss[i][0])
    X_.append(sss[i][1])

当然也可以直接sorted(dict.values())或者sorted(dict.keys()),这样这个时候的返回值就是一个排序好的列表。
在这里插入图片描述

发布了38 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41337100/article/details/102711548