Ich habe mit diesem Problem seit zwei Tagen gekämpft und ich brauche Hilfe damit. Ich muss wiederholte Element in einer Liste von Listen list_of_list = [(a1, b1, c1), (a2, b2, c2), ..., (an, bn, cn)]
finden, wo "a" und "b" -Elemente Integer sind und "c" -Elemente sind Floats.finden Sie wiederholte Element in der Liste der Liste Python
Also, zum Beispiel a1 == a2
oder a1 == bn
, ich muss eine neue Liste mit den gesamten Listenelementen erstellen und ich muss dies für alle Listen (a, b, c) in der Liste der Listen durchlaufen. Um es anders auszudrücken, brauche ich alle Listen, die Elemente enthalten, die in mehr als einer Liste vorhanden sind. Ich muss nur "a" und "b" Elemente vergleichen, aber den zugehörigen Wert "c" in der endgültigen Liste erhalten.
Zum Beispiel:
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)]
ich viele Ideen versuchen ... aber nichts schön kam:
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])
Does 'desired_result' das volle Ergebnis enthalten, oder nur ein Teil davon? – ASGM
Sie müssen nur mit 'a1'-Wert vergleichen? –
meinst du 'ai = aj' und' ai = bj' für i, j in (1, n)? –