J'ai deux listes comme suit.
mylist1 = [["lemon", 0.1], ["egg", 0.1], ["muffin", 0.3], ["chocolate", 0.5]]
mylist2 = [["chocolate", 0.5], ["milk", 0.2], ["carrot", 0.8], ["egg", 0.8]]
Je veux obtenir la moyenne des éléments communs dans les deux listes comme suit.
myoutput = [["chocolate", 0.5], ["egg", 0.45]]
Mon code actuel est le suivant
for item1 in mylist1:
for item2 in mylist2:
if item1[0] == item2[0]:
print(np.mean([item1[1], item2[1]]))
Cependant, comme il y a deux for
boucles ( O(n^2)
complexité) ce qui est très inefficace pour les très longues listes. Je me demande s'il existe un moyen plus standard/efficace de le faire en Python.