gpt4 book ai didi

python - 如何以更高效和 pythonic 的方式编写以下代码?

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:15 25 4
gpt4 key购买 nike

我有一个包含 url 的列表:file_url_list,打印为:

www.latimes.com, www.facebook.com, affinitweet.com, ...

还有另一个 Top 1M url 列表:top_url_list,打印如下:

[1, google.com], [2, www.google.com], [3, microsoft.com], ...

我想找出 file_url_list 中有多少个 URL 在 top_url_list 中。我已经编写了以下有效的代码,但我知道这不是最快的方法,也不是最 pythonic 的方法。

# Find the common occurrences
found = []
for file_item in file_url_list:
for top_item in top_url_list:
if file_item == top_item[1]:
# When you find an occurrence, put it in a list
found.append(top_item)

我怎样才能以更高效和 pythonic 的方式编写它?

最佳答案

设置交集应该有所帮助。此外,您可以使用生成器表达式仅从 top_url_list 中的每个条目中提取 url。

file_url_list = ['www.latimes.com', 'www.facebook.com', 'affinitweet.com']
top_url_list = [[1, 'google.com'], [2, 'www.google.com'], [3, 'microsoft.com']]

common_urls = set(file_url_list) & set(url for (index, url) in top_url_list)

或等同地感谢Jean-François Fabre :

common_urls = set(file_url_list) & {url for (index, url) in top_url_list}

关于python - 如何以更高效和 pythonic 的方式编写以下代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43652633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com