吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2762|回复: 2
收起左侧

[Python 转载] 【笔记】 文本排序

[复制链接]
lzc527054845 发表于 2019-1-27 20:01
#!/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()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

6767 发表于 2019-1-28 00:26
小兄弟,稍稍说一句,默认情况下第一行这个shebang
#!/user/bin/env python 应该是
#!/usr/bin/env python
多个e强迫症很难受
 楼主| lzc527054845 发表于 2019-1-28 14:35
6767 发表于 2019-1-28 00:26
小兄弟,稍稍说一句,默认情况下第一行这个shebang
#!/user/bin/env python 应该是
#!/usr/bin/env pyth ...

多谢提醒
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 18:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表