result = []
for inner_list1 in list1:
for inner_list2 in list2:
set1 = set(inner_list1)
set2 = set(inner_list1)
if set1.intersection(set2):
result.append(list(set1.union(set2)))
import collections
a = [['hdisk37', '00f7e0b88577106a']]
b = [['1', '00f7e0b8cee02cd6'], ['2', '00f7e0b88577106a']]
def combine(*lols): # list of lists
ret = collections.defaultdict(set)
for lol in lols:
for l in lol:
ret[l[1]].add(l[1])
ret[l[1]].add(l[0])
return {k:list(v) for k,v in ret.items()}
print combine(a,b)
使用
set
对象获得所需结果的python方法:输出:
^{pr2}$set1 & s
是两个集合的交集(返回一个新集合,其元素与第一个集合和所有其他集合相同)set1 | s
是指定集的并集试试这个:
对于两个列表中的每个内部列表,检查它们之间的交集是否不为空。如果不是,则将它们合并并添加到最终结果中。在
此方法以dict形式返回所有可能的“second value”匹配,从第二个值返回到结果列表。它还需要任意数量的列表(而不是两个)。在
输出:
^{pr2}$要获得所需的精确输出,您需要执行以下操作:
相关问题 更多 >
编程相关推荐