推荐学习书目
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 · Oct 23, 2020 · 3747 views
    This topic created in 2070 days ago, the information mentioned may be changed or developed.
    数据格式:xxxyyyzzz xyz 为随机值, 匹配 y 重复项,然后删除整列。 求教怎么实现?
    imn1
        1
    imn1  
       Oct 23, 2020
    搞不清你的需求
    In [1]: set('aabbcc')
    Out[1]: {'a', 'b', 'c'}
    qwa2013
        2
    qwa2013  
    OP
       Oct 23, 2020
    454yyysda
    22sayyy8sdl 》》》 454yyysda
    asdyyyeee

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

    数据格式:
    [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  
       Oct 23, 2020
    res = {}
    for line in lines:
    __res.setdefault(re.search('(?<=@).*?(?=:)', line)[0], line)
    取 res.values()就得了
    biglazycat
        20
    biglazycat  
       Oct 24, 2020
    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
       Oct 24, 2020
    谢谢楼上二位大佬。 已解决。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1027 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 18:42 · PVG 02:42 · LAX 11:42 · JFK 14:42
    ♥ Do have faith in what you're doing.