Python 去重 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
qwa2013
V2EX    Python

Python 去重

  •  
  •   qwa2013 2020-10-23 01:28:07 +08:00 3283 次点击
    这是一个创建于 1820 天前的主题,其中的信息可能已经有所发展或是发生改变。
    数据格式:xxxyyyzzz xyz 为随机值, 匹配 y 重复项,然后删除整列。 求教怎么实现?
    imn1
        1
    imn1  
       2020-10-23 02:45:09 +08:00
    搞不清你的需求
    In [1]: set('aabbcc')
    Out[1]: {'a', 'b', 'c'}
    qwa2013
        2
    qwa2013  
    OP
       2020-10-23 03:36:16 +08:00
    454yyysda
    22sayyy8sdl 》》》 454yyysda
    asdyyyeee

    xz 随机字母数字符合组合。
    qwa2013
        3
    qwa2013  
    OP
       2020-10-23 03:36:40 +08:00
    y 为随机值,非固定。
    liukrystal
        4
    liukrystal  
       2020-10-23 04:15:44 +08:00 via iPhone   2
    LZ 表达能力有问题,没说明白需求
    bilibilifi
        5
    bilibilifi  
       2020-10-23 04:44:06 +08:00 via iPhone
    你用正则取 y,再维护一个字典不就好了
    bilibilifi
        6
    bilibilifi  
       2020-10-23 04:45:57 +08:00 via iPhone
    要去重要么牺牲空间要么牺牲复杂度
    vk42
        7
    vk42  
       2020-10-23 05:02:33 +08:00
    @liukrystal +1,看 lz 原贴和下面补充简直是在猜字谜……
    billgreen1
        8
    billgreen1  
       2020-10-23 07:22:37 +08:00
    楼主举个例子吧:你的输入是什么,期待输出是什么
    v2webdev
        9
    v2webdev  
       2020-10-23 07:43:59 +08:00 via Android   1
    在 Stack Overflow 这种帖子就得被封贴了。
    nealight
        10
    nealight  
       2020-10-23 07:48:11 +08:00 via iPhone   3
    楼主很有 leetcode 出题者潜质
    pcbl
        11
    pcbl  
       2020-10-23 08:13:52 +08:00 via iPhone
    确定是删除整列?
    liukrystal
        12
    liukrystal  
       2020-10-23 08:53:42 +08:00 via iPhone
    @vk42 看 lZ 其他回复,原来是个专科,没有歧视学历的意思,但这确实在某种程度上解释了为什么 LZ 表达能力弱的问题。
    OnlySeePost
        13
    OnlySeePost  
       2020-10-23 09:42:04 +08:00 via Android
    楼主 有时候你表达不清楚的话 你把输入输出列出来
    princelai
        14
    princelai  
       2020-10-23 10:17:23 +08:00
    我觉得我破译了楼主想问的问题,应该是,有一个形似 xxxyyyzzz 的字符串,y 是随机的(没说是数字还是字符还是两者组合),如果遇到 x,z 都是随机字母数字组合,那么删除该行,如果 x,z 都是纯数字或纯字符,那么就保留,但楼主没说如果 x 是纯数字,z 是纯字符,是否要删除。
    crazypig14
        15
    crazypig14  
       2020-10-23 10:33:10 +08:00
    这种问题很多时候能表达清楚就能写出来,写代码本身就是个语言表达
    deplives
        16
    deplives  
       2020-10-23 10:35:14 +08:00 via iPhone
    楼主的每个字我都认识 可是合在一起我不知道啥意思
    liangch
        17
    liangch  
       2020-10-23 10:50:41 +08:00
    表达能力有问题
    qwa2013
        18
    qwa2013  
    OP
       2020-10-23 20:27:12 +08:00
    很抱歉,表达能力不行。

    数据格式:
    [email protected]:Soxxxx483!
    [email protected]:MYxxxx4SE13
    [email protected]:Myrxxxx402
    info@travel-muse.com:travxxxx45
    [email protected]:8Exxxx4nts
    [email protected]:stxxxx4ch!
    [email protected]:fredoxxxx440

    每个域名的邮箱数据只保留第一行,剩下同域名的全删除。
    lithbitren
        19
    lithbitren  
       2020-10-23 23:49:52 +08:00
    res = {}
    for line in lines:
    __res.setdefault(re.search('(?<=@).*?(?=:)', line)[0], line)
    取 res.values()就得了
    biglazycat
        20
    biglazycat  
       2020-10-24 00:33:00 +08:00
    import os
    import re

    domain_dict = {}
    with open('mail.txt', encoding='utf-8') as f:
    for line in f:
    domain = re.split('@|:', line)[1]
    domain_dict.setdefault(domain,[]).append(line)
    for v in domain_dict.values():
    print(v[0])

    写的挺丑的,有更好的,我再回来贴上。
    qwa2013
        21
    qwa2013  
    OP
       2020-10-24 11:02:39 +08:00
    谢谢楼上二位大佬。 已解决。
    biglazycat
        22
    biglazycat  
       2020-10-24 15:57:16 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5500 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 03:38 PVG 11:38 LAX 20:38 JFK 23:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86