首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python从循环输出中删除重复项

Python从循环输出中删除重复项
EN

Stack Overflow用户
提问于 2020-09-10 22:58:45
回答 2查看 61关注 0票数 0
代码语言:javascript
复制
import json
import requests
import re

tag = "tag=mirai"
hd = {"Content-Type": "application/x-www-form-urlencoded"}
r = requests.post ('https://urlhaus-api.abuse.ch/v1/tag/', data=tag, headers=hd)
c = ['urls', 'url']
data = json.loads (r.text)

for i in range (0, 998):
    fff = data['urls'][i]['url']
    pattern = r"((([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])[ (\[]?(\.|dot)[ )\]]?){3}([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]))"
    ips = [match[0] for match in re.findall (pattern, fff)]
    list2 = []
    for item in ips:
        if item != []:
            list2.append (item)
            print(list2)

我写了这段代码和输出类型的行列表,我在整个过程中搜索了5天,找到了问题的答案。

输出示例

代码语言:javascript
复制
['51.15.64.60']
['51.15.64.60']
['149.3.170.181']
['149.3.170.181']
['89.248.166.183']
['185.132.53.30']
['185.132.53.30']
['185.132.53.30']

必要输出

代码语言:javascript
复制
['51.15.64.60']
['149.3.170.181']
['89.248.166.183']
['185.132.53.30']
EN

回答 2

Stack Overflow用户

发布于 2020-09-10 23:02:42

在添加之前,只需检查item (列表)是否已经存在于list2中。

这个答案假设您希望list2没有重复的对象,但保持插入的顺序。

(如果您希望list2没有连续的重复对象,或者如果插入的顺序不重要,则会有不同的答案。)

代码语言:javascript
复制
...
if item != []:
   if item not in list2: # Add this line
     list2.append (item)
     print(list2)
票数 1
EN

Stack Overflow用户

发布于 2020-09-10 23:09:54

使用if语句查看项目是否已存在于list2中

下面是对你有效的方法..

代码语言:javascript
复制
import json
import requests
import re

tag = "tag=mirai"
hd = {"Content-Type": "application/x-www-form-urlencoded"}
r = requests.post ('https://urlhaus-api.abuse.ch/v1/tag/', data=tag, headers=hd)
c = ['urls', 'url']
data = json.loads (r.text)

for i in range (0, 998):
    fff = data['urls'][i]['url']
    pattern = r"((([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])[ (\[]?(\.|dot)[ )\]]?){3}([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]))"
    pattern2 = r"^(\S++).*\R(?=(?>.*\R)*?\1 )"
    ips = [match[0] for match in re.findall (pattern, fff)]
    list2 = []
    for item in ips:
        if item != []:
            if item not in list2:
                list2.append (item)
                print(list2)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63832430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档