好友
阅读权限10
听众
最后登录1970-1-1
|
#!/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()
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|