在没有类的情况下创建列表或字典的新实例

时间:2013-08-14 04:34:16

标签: python python-3.3

每次调用方法时,如何创建列表或字典的新实例?我能比较的最接近的是我想要做的是java或C#中的new关键字

4 个答案:

答案 0 :(得分:1)

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

x = dict()
y = list()

这相当于Java的

Map x = new TreeMap(); // or other dictionary implementation
List y = new ArrayList(); // or other list implementation

答案 1 :(得分:0)

字典示例:

def create_dict():
    return {}

列表示例:

def create_list():
    return []

用法:

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

这一切都有效,但实际上并没有那么有用。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

最常见的方式(到目前为止)是:

y= []    # new empty list
x= {}    # new empty dictionary

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

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

x= list()
y= dict()

但是,你很少在实践中找到它们。

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

设置文字(如{'Morning','Afternoon','Evening','Night'})也有效。但是,空集需要创建为set()。语法{}保留用于创建空字典,因为它们更常见。