每次调用方法时如何创建列表或字典的新实例?我可以比较的最接近的事情是new
java 或 C# 中的关键字
问问题
3736 次
4 回答
2
这些函数已经定义,有内置类型的构造函数- 字典和列表:
x = dict()
y = list()
这相当于Java的
Map x = new TreeMap(); // or other dictionary implementation
List y = new ArrayList(); // or other list implementation
于 2013-08-14T05:11:53.120 回答
0
字典示例:
def create_dict():
return {}
列表示例:
def create_list():
return []
用法:
a = create_dict() #for a new empty dictionary
b = create_list() # for new empty list
这一切都有效,但实际上并没有那么有用。
于 2013-08-14T04:38:25.543 回答
0
假设您有一个默认列表L
,并且您想确保您使用的列表等于L
且不改变L
自身,您可以将局部变量初始化为list(L)
. 你是这个意思吗?
于 2013-08-14T04:38:32.093 回答
0
最常见的方式(到目前为止)是:
y= [] # new empty list
x= {} # new empty dictionary
为什么这么短?因为该语言鼓励使用像这样的高级数据结构。
在 Python 中,使用类的名称(如 Java)调用构造函数,但不需要 fornew
或任何其他关键字。如另一个答案中所述,这使得以下语法也有效:
x= list()
y= dict()
但是,您在实践中很少会找到它们。
列表文字(如[1,2,3,4]
)创建新列表并预填充它们。字典文字(如{'Red':'Rojo','Yellow':'Amarillo','Green':'Verde'}
)创建新字典并预先填充它们。
设置文字(如{'Morning','Afternoon','Evening','Night'}
)也是有效的。但是,空集需要创建为set()
. 该语法{}
保留用于创建空字典,因为它们更常见。
于 2013-08-14T05:14:43.610 回答