我在问这个问题,但用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