为了账号安全,请及时绑定邮箱和手机立即绑定

Python程序从行中删除重复条目

Python程序从行中删除重复条目

慕妹3242003 2021-03-26 15:11:27
我建立了以下功能来对行进行排序,然后对每行进行排序,它将行内的内容排序为数值。像这样的行:67:1 45:1 67:1 89:131:1 89:5 45:1 23:1 代码:with open("SVM/svm-pos-train.txt") as f, open("SVM/svm-pos-train2.txt", 'w') as out:                for line in f:                    line = line.split()                    line.sort(key = lambda x: int(x.split(':')[0]))                    out.write(" ".join(line) + '\n')我该如何编辑它,这样也可以从行中删除重复项,如下所示: 45:1 67:1 89:1 23:1 31:1 45:1 89:1我一直在搜索和试用/(很多)错误,但是没有运气。
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

使用集


line = line.split()

line = list(set(line))

set 返回唯一元素的无序集合,然后将其转换回列表,然后对列表进行排序。


编辑:


line = line.split()

line = list(set(line))

out.write(" ".join(sorted(line, x: (int(x.split(':')[0]), int(x.split(':')[1])))) + '\n')


查看完整回答
反对 回复 2021-03-30
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

希望这会有所帮助:


#!/usr/bin/python


with open("d1.txt") as f, open("d2.txt", 'w') as out:

    for line in f:

        fields = line.split()

        set_ = set(fields)

        list_ = list(set_)

        list_.sort()

        out.write(" ".join(list_) + '\n')



查看完整回答
反对 回复 2021-03-30
  • 2 回答
  • 0 关注
  • 198 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号