2017-11-05 22 views
1

ich eine einfache Frage haben, mit Ironpython möchte ich eine Liste von leeren Listen erstellen:umbenennen Listen eine andere Liste in Ironpython mit

names = ['a', 'b', 'c', 'd', 'e'] 
list_of_lists = [[] for i in names] 

dann auf jede leere Liste zuweisen, einen bestimmten Namen von den „Namen "-Liste:

ein Wörterbuch erstellen und Zugriff auf die Listen wie folgt aus:

new_names_dict = dict(zip(names, list_of_lists)) 

new_names_dict['a'] = [] 

Aber ich bin für die direkte Umbenennung ohne Hilfe eines Wörterbuchs suchen.

Vielen Dank für Ihre Hilfe!

+0

Haben Sie Variablen, um den Zugang zu erstellenden sie im Umfang? – PRMoureu

+0

für jetzt wäre ich in Ordnung, nur um herauszufinden, wie Sie sie in der Art und Weise umbenennen, die ich beschrieben habe. Das Problem besteht darin, dass jedes Projekt, in dem dieser Teil des Skripts verwendet wird, eine andere Anzahl von Listen hat, die ich initialisieren muss, und dann mit Daten füllen. Meine große Hürde besteht darin, die initialisierten Listen neu zu benennen, basierend auf der Nomenklatur, die aus jedem einzelnen Projekt extrahiert wurde. danke für Ihre Hilfe. – alc

+0

aber Sie möchten diese Listen in einem Diktat speichern? oder geben Sie jedem einen Variablennamen, damit Sie in Ihrem Code leicht darauf zugreifen können? Wenn Sie diesen Listen Namen zuordnen müssen, ist das Wörterbuch ein guter Ansatz. Du kannst es auf eine kürzere Art machen: 'new_names_dict = {k: [] für k in Namen}' – PRMoureu

Antwort

0

Eine einfache Möglichkeit, Variablen zu erzeugen, um sie im aktuellen Modul zuzugreifen, ist das globals Wörterbuch zu aktualisieren, alle Variablen des globalen Umfang enthalten:

names = ['a', 'b', 'c', 'd', 'e'] 

globals().update({k:[] for k in names}) 

print(a) 
# >>> [] 
+0

Danke! Das hat mein Problem gelöst. – alc

Verwandte Themen