Python 去重

2020-10-23 01:28:07 +08:00
 qwa2013
数据格式:xxxyyyzzz xyz 为随机值, 匹配 y 重复项,然后删除整列。 求教怎么实现?
2628 次点击
所在节点    Python
22 条回复
imn1
2020-10-23 02:45:09 +08:00
搞不清你的需求
In [1]: set('aabbcc')
Out[1]: {'a', 'b', 'c'}
qwa2013
2020-10-23 03:36:16 +08:00
454yyysda
22sayyy8sdl 》》》 454yyysda
asdyyyeee

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

数据格式:
ad.consult@wanadoo.fr:Soxxxx483!
francoiseverschuere@wanadoo.fr:MYxxxx4SE13
reversolis@wanadoo.fr:Myrxxxx402
info@travel-muse.com:travxxxx45
durietz.franklin@wanadoo.fr:8Exxxx4nts
eamitch@peoplestel.net:stxxxx4ch!
fredo.83@orange.fr:fredoxxxx440

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

写的挺丑的,有更好的,我再回来贴上。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/717654

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX