我在問這個問題,但用python 2.7代替。我知道我是這個問題的提問者,但答案應該不同。這是鏈接。如何在不用Python創建數組的情況下創建變量名?
How to make a variable name without creating an array in C++?
我擡頭數據結構的蟒蛇網站上,但我不知道他們在說什麼。任何幫助或指導表示讚賞!
我在問這個問題,但用python 2.7代替。我知道我是這個問題的提問者,但答案應該不同。這是鏈接。如何在不用Python創建數組的情況下創建變量名?
How to make a variable name without creating an array in C++?
我擡頭數據結構的蟒蛇網站上,但我不知道他們在說什麼。任何幫助或指導表示讚賞!
如果您正在尋找在C++類似std::map
的結構,你應該使用dict
。它是一個字典,可以將任何可哈希對象作爲鍵(一個字符串,一個元組,一個整數)。例如:
x = dict()
x['a'] = 5
x[6] = MyObject()
正如你可以看到這是不是std::map
更強大,因爲鑰匙可能有不同的類型和值了。
如果要指定一個類,你也可以這樣做:
class MyClass:
pass
x[1] = MyClass
但也許你有興趣在這個類的一個實例?這也是可能的(在同一dict
):
x[1] = MyClass() # this creates an instance
你可以做類似如下:
globals()['foo'] = 10
或
locals()['foo'] = 10
然後你就可以在此之後通過其名稱訪問FOO。從你的其他問題來看,似乎你問如何在不使用方括號的情況下創建一個數組(在Python中,通常是一個列表)。
與C/C++,你並不需要聲明一個Python變量的類型,那麼你可以這樣做:
foo = []
或
foo = list()
其中變量命名爲「富'用列表(如數組)類型引用一個值。
沒有。只是在python的這麼多層次上這是錯誤的。你永遠不會玩當地人或全球。 – 2012-01-01 01:20:39
一般來說,您正在查找的數據結構是一個鍵值映射。根據語言或庫的不同,這個結構的名字可能是以下內容:字典,散列表,關聯數組,散列。這些是通用名稱。
在python中,它們被稱爲字典。並用{}
創建。而Python中的列表將使用[]
創建。
一個基本的例子是這樣的:
a={}
a[5]='a'
a[3]=0
print a
Output: {3: 0, 5: 'a'}
像你的其他文章中,我發現這個不清楚,你說的是一個關聯數組類型,例如[字典](HTTP數據結構://docs.python .ORG /教程/ datastructures.html#詞典)? – 2012-01-01 01:05:36
這就像我可以參考的唯一ID,以創建無限制實例並自動檢查所有實例。 – Ripspace 2012-01-01 01:08:19