【笔记】 文本排序
#!/user/bin/env python# -*- coding: utf-8 -*-
"""
要处理的文本:
1 男 25
3 女 66
5 男 85
0 男 12
2 女 56
方法:
处理每行有多个数据 规律性的文本 根据某一行进行排序
先把每一行变成一个列表添加到一个新列表中[[],[],[],[]] 再根据每个列表的某一列值进行排序
"""
new_list = []
file = open("info.txt", "r")
data = file.readlines()
for line in data: # 把每一行用空格切割返回一个列表
list1 = line.split(" ")
new_list.append(list1)
file.close()
"""
根据数字大小进行排序
使用lambda函数指定第几列用来排序
eval() 把字符创转换为数字
reverse = True 降序
reverse = False 升序
"""
new_list.sort(key=lambda x: eval(x[0]), reverse=False)
file1 = open("1.text", "w")
for i in new_list:
file1.write(str(i)+"\n")
file1.close()
"""
根据汉字进行排序:
把汉字设置成对应的数字进行排序
"""
def return_num(x):
if x == "男":
return 1
elif x == "女":
return 2
new_list.sort(key=lambda a: return_num(a[1]), reverse=True)
file2 = open("2.text", "w")
for i in new_list:
file2.write(str(i)+"\n")
file2.close()
小兄弟,稍稍说一句,默认情况下第一行这个shebang
#!/user/bin/env python 应该是
#!/usr/bin/env python
多个e强迫症很难受
6767 发表于 2019-1-28 00:26
小兄弟,稍稍说一句,默认情况下第一行这个shebang
#!/user/bin/env python 应该是
#!/usr/bin/env pyth ...
多谢提醒{:1_893:}
页:
[1]