2014-07-10 104 views
0

對不起,如果這是一個愚蠢的問題,但我一直無法在任何地方找到答案。我有一個變量列表,每個變量都代表一個列表。我想對每個列表的名稱(即其變量句柄)進行評估,然後使用它包含的值。有沒有簡單的方法在Python中做到這一點?下面顯示了我的意思的一個例子。評估變量名稱和內容

List1 = ['test1', 'test2', 'test3'] 
List2 = ['test4', 'test5', 'test6'] 
List3 = [List1, List2] 
for x in List3: 
    if x == List1: 
     do something 

我的問題是,蟒蛇評估列表1,因爲它的成分(即「測試1」,「測試2」,「TEST3」),但我要的是爲它做某些事情'如果x =「列表1」。

對不起,如果這是困惑,謝謝你的幫助。使用3.3。

+0

在Python中獲取變量的名稱並不是您要做的事。雖然你可以做到這一點,用黑客,例如[這些例子](https://stackoverflow.com/questions/2553354/how-to-get-a-variable-name-as-a-string-in-python)。但是,真的,你最好重新思考你對這段代碼的方法...... – hwjp

回答

2

可以使用is操作

List1 = ['test1', 'test2', 'test3'] 
List2 = ['test4', 'test5', 'test6'] 
List3 = [List1, List2] 

for x in List3: 
    if x is List1: 
    do something 
0

我認爲你會使用一本字典爲這一個更好。例如:

>>> list_dict = {} 
>>> list_dict['list1'] = ['test1', 'test2', 'test3'] 
>>> list_dict['list2'] = ['test4', 'test5', 'test6'] 
>>> for a_list in list_dict: 
     if a_list == 'list1': 
      print(list_dict[a_list]) # or whatever you intend to do