python如何在一堆字符串中 根据有序的序号进行排序呢?
可能有人会先想到 遍历,循环等等…但是 python中 有一个很强大的方法 sorted 话不多说, 下面开始
首先在 txt 文件里定义 要排序的 内容, 并命名为 str_data.txt
a.do_something. data_number-DNS. 3
b.do_something. data_number-DNS. 1
c.do_something. data_number-DNS. 2
d.do_something. data_number-DNS. 5
e.do_something. data_number-DNS. 4
资源准备好了之后开始排序
with open('str_data.txt') as f:
# 按行分割
file_list = f.readlines()
print(file_list)
print("-"*100)
# 排序, 注意 key后面是lambda表达式
res_list = sorted(file_list, key=lambda x: x.split(' ')[2])
print(res_list)
是不是成功呢?
如果要是想通过字典里的 键或值 排序呢?
答: 其实用法是一样的, 话不多说, 开始敲
str_data =[
{"name": "bob", "age": 28},
{"name": "jon", "age": 18},
{"name": "ken", "age": 24},
{"name": "yun", "age": 16},
{"name": "ann", "age": 30},
]
res_data = sorted(str_data, key=lambda x:x["age"])
print(res_data)