ich habe mich bei euch angemeldet und schreibe heute meinen ersten Post in euer (nun auch unser ;o) ) Forum.
Ich teste gerade meinen Pythoncode und bin über die Wirkung erstaunt und benötige euren Rat, warum das passiert.
Ich habe als Ausgang eine Liste, welche ich als Quelle nutze
Code: Alles auswählen
globale_Lichtmodul_Liste = [
[
[{'raum':'Ankleide', 'lichtsystem':'Deckenbeleuchtung', 'lichtmodul_anzahl': 2, 'licht_typ': 'rgbw', 'beschreibung': 'Deckenbeleuchtung Ankleide', 'knotenpunkt': 'DG rechts'}],
# Modulindex, Adresse, Powerkanal, [Pin, Farbkanal, Leitungsbeschreibung]
[0,3,1,[
[8, 'white', '3/107'],
[9, 'blue' , '3/107'],
[10, 'green', '3/107'],
[11, 'red' , '3/107']
]
],
[1,3,1,[
[12, 'white', '3/108'],
[13, 'blue' , '3/108'],
[14, 'green', '3/108'],
[15, 'red' , '3/108']
]
]
],
[
[{'raum':'Schlafzimmer', 'lichtsystem':'Deckenbeleuchtung', 'lichtmodul_anzahl': 1, 'licht_typ': 'rgbw', 'beschreibung': 'Deckenbeleuchtung Schlafzimmer', 'knotenpunkt': 'DG rechts'}],
# Modulindex, Adresse, Powerkanal, [Pin, Farbkanal, Leitungsbeschreibung]
[0,4,1,[
[0, 'white', '3/115'],
[1, 'blue' , '3/115'],
[2, 'green', '3/115'],
[3, 'red' , '3/115']
]
]
],
[
[{'raum':'Schlafzimmer', 'lichtsystem':'Bett rechts', 'lichtmodul_anzahl': 1, 'licht_typ': 'rgbw', 'beschreibung': 'Licht am Bett rechts', 'knotenpunkt': 'DG rechts'}],
# Modulindex, Adresse, Powerkanal, [Pin, Farbkanal, Leitungsbeschreibung]
[0,4,1,[
[4, 'white', '3/101'],
[5, 'blue' , '3/101'],
[6, 'green', '3/101'],
[7, 'red' , '3/101']
]
]
],
[
[{'raum':'Schlafzimmer', 'lichtsystem':'Bett links', 'lichtmodul_anzahl': 1, 'licht_typ': 'rgbw', 'beschreibung': 'Licht am Bett links', 'knotenpunkt': 'DG rechts'}],
# Modulindex, Adresse, Powerkanal, [Pin, Farbkanal, Leitungsbeschreibung]
[0,4,1,[
[8, 'white', '3/102'],
[9, 'blue' , '3/102'],
[10, 'green', '3/102'],
[11, 'red' , '3/102']
]
]
],
[
[{'raum':'Sasuke', 'lichtsystem':'Deckenbeleuchtung', 'lichtmodul_anzahl': 8, 'licht_typ': 'rgbw', 'beschreibung': 'Deckenbeleuchtung', 'knotenpunkt': 'DG rechts'}],
# Modulindex, Adresse, Powerkanal, [Pin, Farbkanal, Leitungsbeschreibung]
[0,1,2,[
[8, 'white', '3/116'],
[9, 'blue' , '3/116'],
[10, 'green', '3/116'],
[11, 'red' , '3/116']
]
],
[1,1,2,[
[12, 'white', '3/117'],
[13, 'blue' , '3/117'],
[14, 'green', '3/117'],
[15, 'red' , '3/117']
]
],
[2,2,2,[
[0, 'white', '3/118'],
[1, 'blue' , '3/118'],
[2, 'green', '3/118'],
[3, 'red' , '3/118']
]
],
[3,2,2,[
[4, 'white', '3/119'],
[5, 'blue' , '3/119'],
[6, 'green', '3/119'],
[7, 'red' , '3/119']
]
],
[4,2,2,[
[8, 'white', '3/120'],
[9, 'blue' , '3/120'],
[10, 'green', '3/120'],
[11, 'red' , '3/120']
]
],
[5,2,2,[
[12, 'white', '3/121'],
[13, 'blue' , '3/121'],
[14, 'green', '3/121'],
[15, 'red' , '3/121']
]
],
[6,3,1,[
[0, 'white', '3/122'],
[1, 'blue' , '3/122'],
[2, 'green', '3/122'],
[3, 'red' , '3/122']
]
],
[7,3,1,[
[4, 'white', '3/123'],
[5, 'blue' , '3/123'],
[6, 'green', '3/123'],
[7, 'red' , '3/123']
]
]
],
[
[{'raum':'Sasuke', 'lichtsystem':'Drempelbeleuchtung', 'lichtmodul_anzahl': 2, 'licht_typ': 'rgbw', 'beschreibung': 'Drempelbeleuchtung', 'knotenpunkt': 'DG rechts'}],
# Modulindex, Adresse, Powerkanal, [Pin, Farbkanal, Leitungsbeschreibung]
[0,1,2,[
[0, 'white', '3/105'],
[1, 'blue' , '3/105'],
[2, 'green', '3/105'],
[3, 'red' , '3/105']
]
],
[1,1,2,[
[4, 'white', '3/106'],
[5, 'blue' , '3/106'],
[6, 'green', '3/106'],
[7, 'red' , '3/106']
]
]
]
]
Code: Alles auswählen
a._color_table=[]
Code: Alles auswählen
for lichtsystem in globale_Lichtmodul_Liste:
if this_node_is == lichtsystem[0][0]['knotenpunkt']:
for modulindex in range(1, len(lichtsystem) ):
if lichtsystem[modulindex][1] == 1:
for color in lichtsystem[modulindex][3]:
a._color_table.append(color)
Dann sortiere ich die Liste mit
Code: Alles auswählen
a._color_table = sorted(a._color_table, key=itemgetter(0))
Nun kommt der Punkt wo ich es nicht verstehe.
mit den Zeilen ...
Code: Alles auswählen
for color in a._color_table:
color.insert(1,0)
color.insert(1,0)
Zum besseren Vergleich, habe ich nur einen Punkt hervorgehoben.
a._color_table
[[0, 0, 0, 'white', '3/105'], [1, 0, 0, 'blue', '3/105'], [2, 0, 0, 'green', '3/105'], [3, 0, 0, 'red', '3/105'], [4, 0, 0, 'white', '3/106'], [5, 0, 0, 'blue', '3/106'], [6, 0, 0, 'green', '3/106'], [7, 0, 0, 'red', '3/106'], [8, 0, 0, 'white', '3/116'], [9, 0, 0, 'blue', '3/116'], [10, 0, 0, 'green', '3/116'], [11, 0, 0, 'red', '3/116'], [12, 0, 0, 'white', '3/117'], [13, 0, 0, 'blue', '3/117'], [14, 0, 0, 'green', '3/117'], [15, 0, 0, 'red', '3/117']]
wenn ich aber mir die Quell-Liste anschaue, wurden die entsprechenden Einträge dort auch verändert bzw. hinzugefügt, obwohl ich das nie wollte.
globale_Lichtmodul_Liste
[[[{'raum': 'Ankleide', 'lichtsystem': 'Deckenbeleuchtung', 'lichtmodul_anzahl': 2, 'licht_typ': 'rgbw', 'beschreibung': 'Deckenbeleuchtung Ankleide', 'knotenpunkt': 'DG rechts'}], [0, 3, 1, [[8, 'white', '3/107'], [9, 'blue', '3/107'], [10, 'green', '3/107'], [11, 'red', '3/107']]], [1, 3, 1, [[12, 'white', '3/108'], [13, 'blue', '3/108'], [14, 'green', '3/108'], [15, 'red', '3/108']]]], [[{'raum': 'Schlafzimmer', 'lichtsystem': 'Deckenbeleuchtung', 'lichtmodul_anzahl': 1, 'licht_typ': 'rgbw', 'beschreibung': 'Deckenbeleuchtung Schlafzimmer', 'knotenpunkt': 'DG rechts'}], [0, 4, 1, [[0, 'white', '3/115'], [1, 'blue', '3/115'], [2, 'green', '3/115'], [3, 'red', '3/115']]]], [[{'raum': 'Schlafzimmer', 'lichtsystem': 'Bett rechts', 'lichtmodul_anzahl': 1, 'licht_typ': 'rgbw', 'beschreibung': 'Licht am Bett rechts', 'knotenpunkt': 'DG rechts'}], [0, 4, 1, [[4, 'white', '3/101'], [5, 'blue', '3/101'], [6, 'green', '3/101'], [7, 'red', '3/101']]]], [[{'raum': 'Schlafzimmer', 'lichtsystem': 'Bett links', 'lichtmodul_anzahl': 1, 'licht_typ': 'rgbw', 'beschreibung': 'Licht am Bett links', 'knotenpunkt': 'DG rechts'}], [0, 4, 1, [[8, 'white', '3/102'], [9, 'blue', '3/102'], [10, 'green', '3/102'], [11, 'red', '3/102']]]], [[{'raum': 'Sasuke', 'lichtsystem': 'Deckenbeleuchtung', 'lichtmodul_anzahl': 8, 'licht_typ': 'rgbw', 'beschreibung': 'Deckenbeleuchtung', 'knotenpunkt': 'DG rechts'}], [0, 1, 2, [[8, 0, 0, 'white', '3/116'], [9, 0, 0, 'blue', '3/116'], [10, 0, 0, 'green', '3/116'], [11, 0, 0, 'red', '3/116']]], [1, 1, 2, [[12, 0, 0, 'white', '3/117'], [13, 0, 0, 'blue', '3/117'], [14, 0, 0, 'green', '3/117'], [15, 0, 0, 'red', '3/117']]], [2, 2, 2, [[0, 'white', '3/118'], [1, 'blue', '3/118'], [2, 'green', '3/118'], [3, 'red', '3/118']]], [3, 2, 2, [[4, 'white', '3/119'], [5, 'blue', '3/119'], [6, 'green', '3/119'], [7, 'red', '3/119']]], [4, 2, 2, [[8, 'white', '3/120'], [9, 'blue', '3/120'], [10, 'green', '3/120'], [11, 'red', '3/120']]], [5, 2, 2, [[12, 'white', '3/121'], [13, 'blue', '3/121'], [14, 'green', '3/121'], [15, 'red', '3/121']]], [6, 3, 1, [[0, 'white', '3/122'], [1, 'blue', '3/122'], [2, 'green', '3/122'], [3, 'red', '3/122']]], [7, 3, 1, [[4, 'white', '3/123'], [5, 'blue', '3/123'], [6, 'green', '3/123'], [7, 'red', '3/123']]]], [[{'raum': 'Sasuke', 'lichtsystem': 'Drempelbeleuchtung', 'lichtmodul_anzahl': 2, 'licht_typ': 'rgbw', 'beschreibung': 'Drempelbeleuchtung', 'knotenpunkt': 'DG rechts'}], [0, 1, 2, [[0, 0, 0, 'white', '3/105'], [1, 0, 0, 'blue', '3/105'], [2, 0, 0, 'green', '3/105'], [3, 0, 0, 'red', '3/105']]], [1, 1, 2, [[4, 0, 0, 'white', '3/106'], [5, 0, 0, 'blue', '3/106'], [6, 0, 0, 'green', '3/106'], [7, 0, 0, 'red', '3/106']]]]]
Wie kann das passieren?
Müsste meine Quell-Liste "globale_Lichtmodul_Liste" eigentlich nicht unberührt bleiben? Wo findet die Rückschreibung in die Quell-Liste statt?
VG
Xtremdiver