我尝试关注 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
不保留顺序)
关于python - 从列表中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41602896/