【发布时间】:2016-10-19 14:07:13
【问题描述】:
我已经为这个问题苦苦挣扎了两天,我需要帮助。我需要在列表列表中找到重复的元素
list_of_list = [(a1, b1, c1), (a2, b2, c2), ..., (an, bn, cn)] 其中“a”和“b”元素是整数,“c”元素是浮点数。
因此,例如a1 == a2 或a1 == bn,我需要创建一个包含整个列表元素的新列表,并且我需要对列表列表中的所有列表(a、b、c)进行迭代。换句话说,我需要所有包含多个列表中的元素的列表。我只需要比较“a”和“b”元素,但在最终列表中获得关联值“c”。
例如:
list_of_list = [(1, 2, 4.99), (3, 6, 5.99), (1, 4, 3.00), (5, 1, 1.12), (7, 8, 1.99) ]
desired_result=[(1, 2, 4.99), (1, 4, 3.00), (5, 1, 1.12)]
我尝试了很多想法......但没有什么好主意:
MI_network = [] #repeated elements list
genesis = list(complete_net) #clon to work on
genesis_next = list(genesis) #clon to remove elements in iterations
genesis_next.remove(genesis_next[0])
while genesis_next != []:
for x in genesis:
if x[0] in genesis_next and x[1] not in genesis_next:
MI_network.append(x)
if x[0] not in genesis_next and x[1] in genesis_next:
MI_network.append(x)
genesis_next.remove(genesis_next[0])
【问题讨论】:
-
desired_result包含完整的结果,还是只包含其中的一部分? -
只需要与
a1值比较? -
你的意思是
ai = aj和ai = bjfor i, j in (1, n) 吗? -
1-想要的结果有完整的结果 2-我需要将所有 a 元素与所有列表中的所有 a 和 b 元素进行比较