2025年4月9日 星期三 乙巳(蛇)年 正月初十 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

Python给定一个16进制的字符列表,进行排序

时间:12-06来源:作者:点击数:20
CDSY,CDSY.XYZ

原始16进制数据:s =  ['17a', '1', '16', '1f']

思路:打算将s转换成十进制,并存储到字典中,key值就是原始16进制数据,value就是十进制数据,前提是原始16进制没有重复数据,最后按照value值进行排序,再取出key值

合并写法:

  • list(dict(sorted({i:int(i,16) for i in s}.items(),key=lambda item:item[1])).keys())

分开写法: 

  • dic = {i:int(i,16) for i in s}

dic = {'17a': 378, '1': 1, '16': 22, '1f': 31}

根据value值进行从小到大排序:

  • # 通过key这个参数,指定排序是按照字典dic中的value,也就是第一个元素item[1]的值来排序,
  • # 这里item也可以写其他字母,如果是item[0],则是按照字典dic中的key进行排序
  • so = sorted(dic.items(),key=lambda item:item[1])

so = [('1', 1), ('16', 22), ('1f', 31), ('17a', 378)]

将so转换成字典

  • so = dict(so)

so = {'1': 1, '16': 22, '1f': 31, '17a': 378}

取出key值转换成list

  • result = list(so.keys())

result = ['1', '16', '1f', '17a']

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐