2017-07-07 5 views
0

Ich habe eine Reihe von TabellennamenConcatenate Variablennamen in Python

1. EOM 
2.STMT 
3.LOOKUP etc

Ich möchte diese Tabellennamen mit einigen Variablen-Namen assoziieren wie

1. start_time, 
2. end_time, 
3. total_time etc.

Die Art, wie ich diese Variable schreiben wollen Namen ist so etwas wie

1. start_time_EOM, end_time_EOM, total_time_EOM 
2. start_time_STMT, end_time_STMT,total_time_STMT 
3. start_time_LOOKUP,end_time_LOOKUP,total_time_LOOKUP

Kann dies in Python getan werden, und wie? (Hinweis: Ich bin neu in Python und versuche immer noch zu lernen).

+1

ein Wörterbuch verwenden hilft – Stack

+0

Sind Sie eine Bibliothek wie Pandas oder etwas mit? Sie erwähnten Tabellen ... –

+1

Ja, es kann getan werden, indem man 'globals()' verschmutzt und nein, Sie sollten es nicht tun. – zwer

Antwort

0

Yup, Wörterbücher sind Lösung:

tables=["A","B","C"] 
vars = ["var1","var2","var3"] 
dict={} 
for val in tables: 
    for val2 in vars: 
    dict[val2+"_"+val] = foo 
    dict[val2+"_"+val] = bar 
    dict[val2+"_"+val] = foobar 
#and so 

Hoffnung, wenn

+0

Vielen Dank! Das war sehr hilfreich. Frage: Wie kann das gleiche Problem in R gelöst werden? – Gompu

+0

@Gompu Sorry, IDK über R. Hoffe du findest die Lösung. Schöne Grüße! – UnsignedFoo

1

Sie können Variablennamen nicht so ändern, wie Sie es wünschen, aber Sie könnten versuchen, ein Python-Wörterbuch zu verwenden, um das zu erreichen, was Sie erreichen möchten.

+2

könntest du mit 'eval()' wahrscheinlich etwas falsch machen, aber Cary hat recht, du willst es wirklich nicht so machen. –

+0

Vielen Dank! Wie kann das gleiche Problem in R gelöst werden? – Gompu