ich habe mir einen kleines Sortierprogramm ausgedacht. Gegeben ist eine Liste mit 6 Obst- und Gemüsesorten (meine IDs):
Rotkohl
Weiskohl
Apfel
Kartoffel
Zitrone
Birne
Zu jeder ID gibt es zwei Attribute - Farte mit Farbwert und Gewicht mit Gewichtswert.
Jedes Attribut befindet sich einzeln als Element in einer Liste mit der dazugehörigen ID:
[ID,Attribut1,Wert], [ID,Attribut2,Wert]
Ich möchte folgendes haben:
[ID,Attribut1,Wert,Attribut2,Wert]
Ich habe mir dazu ein kleines Programm ausgedacht, dass auch recht gut funktioniert:
Code: Alles auswählen
# Testprogramm Liste mit zwei Eigenschaften zusammenfuehren
Liste = ["Rotkraut,Farbe,gruen", "Weisskraut,Gewicht,16", "Rotkraut,Gewicht,30","Apfel,Gewicht,14","Kartoffel,Farbe,grau","Zitrone,Farbe,gelb","Birne,Gewicht,4",
"Weisskraut,Farbe,weiss","Zitrone,Gewicht,1","Kartoffel,Gewicht,23","Apfel,Farbe,gruen","Birne,Farbe,gruen"]
newList = []
i = 1
for k in Liste:
split_k = k.split (",")
for l in Liste[i:]:
split_l = l.split (",")
if split_k[0] == split_l[0]:
if split_k[1] == "Gewicht":
newString = split_k[0], split_k[1], split_k[2], split_l[1], split_l[2]
else:
newString = split_k[0], split_l[1], split_l[2], split_k[1], split_k[2]
newList.append(newString)
i = i+1
print newList