2017-04-12 2 views
0

Ich habe eine Reihe von Variablen, die Strings enthalten. Was wäre eine bevorzugte Methode, um diese Daten zu gruppieren?Python - Gruppierung von Variablen mit Strings

Diese Variablen werden als Argumente in anderen Funktionen verwendet, die Daten (CPU/Speicherauslastung, Zeit, Geschwindigkeit) sammeln, wenn Dateien übertragen werden. z.B. collect_file_copy_data("data_size", get_data_size("file_path")

1 und 2 sind die Dinge, die mir zuerst in den Sinn kommen.

1.Erstellen eine Funktion ein Wörterbuch mit "string":"string" Format enthält:

def get_data(name): 
    data = { 
     "data_size" : "Size of data", 
     "cpu_usage" : "CPU Usage 
     ... 
     } 
    return data[name] 

2.Create eine Funktion ein Wörterbuch mit "int":"string" Format enthält:

def get_data(name_position): 
    data = { 
     1 : "Size of data", 
     2 : "CPU Usage 
     ... 
     } 
    return data[name_position] 

3. Andere bessere Ideen?

+0

2 wäre besser als Liste oder Tupel (je nachdem, ob Sie etwas ändern). Sie müssten es nicht in ein Diktat verwandeln. –

+2

Aber die große Sache ist, es hängt davon ab, wie Sie darauf zugreifen wollen und was Sie damit machen wollen. –

+0

Ich aktualisierte den Beitrag mit mehr Details –

Antwort

2

Haben Sie daran gedacht, namedtuple zu verwenden?

+0

Ich wusste nicht über diesen Datentyp. Es ist die richtige Wahl für das, was ich brauche, vor allem, dass es besser lesbar ist. Danke [Adam Scott] (http://stackoverflow.com/users/7850705/adam-scott) –