【发布时间】:2023-03-23 03:40:02
【问题描述】:
如标题所示,我想使用 set().intersection() 比较列表/字典中任意数量的 X 的多个集合,并输出一个包含所有匹配项的集合。
我目前有:
asset_list = ["BTC", "ETH", "AAVE", "YFI", "COMP"]
timestamp_dict = {} #this has all timestamps for assets above
timestamp_matches = {}
for i in range(1, len(asset_list)):
timestamp = set(timestamp_dict[asset_list[0]]).intersection(timestamp_dict[asset_list[i]])
timestamp_matches[asset_list[i]] = timestamp
它返回字典“timestamp_matches”以及“asset_list”中每个资产的匹配列表,我意识到我已经告诉它了。我以前有:
timestamp_matches = set(timestamp_dict["BTC"]).intersection(
set(timestamp_dict["ETH"]),
set(timestamp_dict["AAVE"]),
set(timestamp_dict["YFI"]),
set(timestamp_dict["COMP"]))
但这意味着我必须对每个我无法实现目标的资产进行硬编码。
谢谢!
【问题讨论】:
标签: python set intersection