Skip to main content
 首页 » 编程设计

python之从列表中删除重复项

2025年05月04日12落叶

我尝试关注 this post但是,它似乎对我不起作用。

我试过这段代码:

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 操作的结果

b_result_list = list(set(b_result_list)) 

(注意 set 不保留顺序)