Python 创建不带类的列表或字典的新实例

Python 创建不带类的列表或字典的新实例,python,python-3.3,Python,Python 3.3,如何在每次调用方法时创建列表或字典的新实例?我最想比较的是java或C中的new关键字字典示例: def create_dict(): return {} 列表示例: def create_list(): return [] 用法: a = create_dict() #for a new empty dictionary b = create_list() # for new empty list 这一切都可以正常工作,但实际上并没有那么有用。假设您有一个默认列表L,并且

如何在每次调用方法时创建列表或字典的新实例?我最想比较的是java或C中的
new
关键字字典示例:

def create_dict():
    return {}
列表示例:

def create_list():
    return []
用法:

a = create_dict() #for a new empty dictionary
b = create_list() # for new empty list

这一切都可以正常工作,但实际上并没有那么有用。

假设您有一个默认列表
L
,并且您希望确保您使用的列表等于
L
,并且不改变
L
本身,您可以将局部变量初始化为
list(L)
。这就是你的意思吗?

这些函数是已经定义的,有构造函数内置类型-字典和列表:

x = dict()
y = list()
这相当于Java的

Map x = new TreeMap(); // or other dictionary implementation
List y = new ArrayList(); // or other list implementation
到目前为止,最常见的方法是:

为什么这么短?因为该语言鼓励使用这样的高级数据结构

在Python中,构造函数是用类的名称(如Java)调用的,但不需要
new
或任何其他关键字。如另一个答案所述,这使得以下语法也有效:

x= list()
y= dict()
然而,你在实践中很少会发现它们

列表文字(如
[1,2,3,4]
)创建新列表并预先填充它们。字典文本(如
{'Red':'Rojo','Yellow':'Amarillo','Green':'Verde'}
)创建新字典并预先填充它们


Set文本(如
{'Morning'、'午后'、'Night'、'Night'}
)也有效。但是,空集合需要创建为
set()
。保留语法
{}
用于创建空词典,因为它们更常见。

返回[]
?我不知道你这是什么意思。你有可变默认参数问题吗?这是我想要的。谢谢。为什么不在
create_dict()
中返回{}?
x= list()
y= dict()