2016-01-23 36 views
-2

我需要一行代碼創建一個表/列表(無論你想稱它),而不必寫table1 = []之類的東西。有沒有一行代碼可以爲你創建一個表格?我想要一個代碼,每次創建一個表時,表都是空的,它的名字是dt + tablenum。 'tablenum'是每次創建新表時都會增加的整數。如何在Python中創建表格? [重寫,有點不清楚]

編輯:改寫問題,使其更清晰。對不起,有任何困惑。

+1

爲什麼你會想要這樣做?你將如何訪問動態命名的變量?它是[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)? –

+0

這是完全不清楚你在問什麼。我們將不得不猜測你的桌子是什麼樣的,以及你定義的桌子是什麼。 – timgeb

回答

1

創建列表或字典

dt = [] # list 
dt = {} # or dictionary 

,然後您可以添加新的列表

dt.append([]) # add to list 
dt[tablenum] = [] # or add to dictionary 

,您可以使用訪問

print dt[tablenum] # list or dictionary 

print dt[tablenum][element_number] 

# or 

for element in dt[tablenum]: 
    print element 

# or 

alias = dt[tablenum] 

for element in alias: 
    print element 
+0

感謝您的回答。我非常惱火,以致於無法想到這樣一個簡單的解決方案。要訪問表中的單個項目我會做dt [num] [num],對吧?謝謝! – iPhynx

+0

是'dt [tablenum] [element_numer]' – furas

1

這似乎是defaultdict一個完美的工作:

from collections import defaultdict 

dt = defaultdict(list) 

# adding items 
dt[tablenum].append(item) # if dt[tablenum] does not exist, 
          # a new list is automatically created 
+0

感謝您的提示,但是我相信'listception'更高效哈哈。 – iPhynx