从列表中删除重复的项目 [英] Remove duplicate items from list

查看:81
本文介绍了从列表中删除重复的项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试了以下这篇文章但是,它似乎对我不起作用.

I tried following this post but, it doesnt seem to be working for me.

我尝试了以下代码:

for bresult in response.css(LIST_SELECTOR):
    NAME_SELECTOR = 'h2 a ::attr(href)'
    yield {
        'name': bresult.css(NAME_SELECTOR).extract_first(),
    }
                                                                                  b_result_list.append(bresult.css(NAME_SELECTOR).extract_first())

    #set b_result_list to SET to remove dups, then change back to LIST
    set(b_result_list)
    list(set(b_result_list))
for brl in b_result_list:
    print("brl: {}".format(brl))

打印输出:

brl: https://facebook.site.com/users/login
brl: https://facebook.site.com/users
brl: https://facebook.site.com/users/login

当我只需要:

brl: https://facebook.site.com/users/login
brl: https://facebook.site.com/users

我在做什么错了?

谢谢!

推荐答案

当需要保存结果时,您将丢弃结果... b_result_list从未实际更改过...因此,您只是遍历原始列表.而是保存set操作的结果

you are discarding the result when you need to save it ... b_result_list never actually changes... so you are just iterating over the original list. instead save the result of the set operation

b_result_list = list(set(b_result_list))

(请注意,set不会保留顺序)

(note that sets do not preserve order)

这篇关于从列表中删除重复的项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆