2

每次调用方法时如何创建列表或字典的新实例?我可以比较的最接近的事情是newjava 或 C# 中的关键字

4

4 回答 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 回答