2014-07-02 11 views
0

我試圖創建#arb詞典是這樣的:(ARB = 2或4或一些號碼)如何在python中創建任意數量的字典/列表(使用不同的名稱)?

for n in xrange(0, arb): 
    dictn = {} 

但是我知道蟒蛇沒有考慮變量方程的左側。所以我很困惑。我怎樣才能擁有#arb字典或列表不同的名字?如list1listndict1dictn

我知道這可能聽起來很愚蠢,但我並不擅長編程並且非常困惑。任何建議將有所幫助,謝謝

+0

剛剛創建詞典 – sshashank124

+0

的列表中創建一個字典容器至極每個鍵是名稱的VAR – xecgr

+0

檢查內容:HTTP:/ /stackoverflow.com/questions/4010840/generating-variable-names-on-fly-in-python – user2963623

回答

2

它並沒有真正意義的嘗試創建這樣的變量。如果您需要一次動態創建多個字典或列表,則應將其放入一個容器中。一個清單是好的,或者如果你有一個關鍵的想法,那麼爲什麼不是一個字典?

例子:

>>> arb = 4 
>>> dicts = [{} for _ in range(arb)] 
>>> print(dicts) 
[{}, {}, {}, {}] 

或者類型的字典詞典:

>>> arb = 4 
>>> dicts = {"dict_{}".format(i): {} for i in range(arb)} 
>>> print(dicts) 
{'dict_0': {}, 'dict_1': {}, 'dict_2': {}, 'dict_3': {}} 
+0

我不確定我是否可以清楚這一點,但在創建了字典之後,我需要爲它們分配不同的值,例如我需要文件的'行n'作爲'distn'的鍵',這就是爲什麼我試圖用這種模糊的方式命名它們 – LilMuji

+0

@LilMuji我明白,你有關於如何做到這一點的問題? – msvalkon

+0

我明白了。關於詞典的整個想法仍然讓我困惑不已。感謝您的幫助! – LilMuji

0

創建一個字典容器,至少每個鍵是名稱的變種。試試這個

container_dict = {} 
arb= 4 
for n in xrange(0, arb): 
    #for dicts 
    container_dict["dict%i" % n] = {} 
    #for lists 
    container_dict["list%i" % n] = [] 

%,我將插值指數,所以按鍵會從0到numered ARB-1

>>> container_dict 
{'dict1': {}, 'dict0': {}, 'dict3': {}, 'dict2': {}, 'list1': [], 'list0': [], 'list3': [], 'list2': []} 
+0

python正在將'%n'解釋爲格式化程序.. – LilMuji

+0

%n錯了,%i是正確的。看看最後的編輯 – xecgr

相關問題