问个技术问题:
比如: [("a", "b"), ("b", "c"), ("e", "f")]
合并成
[set("a", "b", "c"), set("e, "f")]
(即与有一个元素有交集的,就合并进来)
============= 原列表中有一千个元组,半天没出结果
我写的代码:
# l = [("a", "b"), ("b", "c"), ("e", "f")]
def merger(l):
out_list = []
for item in l:
temp_set = set(item)
if len(out_list) == 0:
out_list.append(temp_set)
else:
for item_set in out_list:
if len(temp_set & item_set) > 0:
item_set.update(temp_set)
else:
out_list.append(temp_set)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.