Python中的大括号和方括号有什么区别?

在Python中的大括号和方括号有什么区别?

A ={1,2} B =[1,2] 

当我在terminal上打印AB时,他们没有任何区别。 这是真的吗?

有时,我注意到有些代码使用{}[]来初始化不同的variables。

例如A=[]B={}

那里有什么区别吗?

大括号创build词典或集合 。 方括号创build列表 。

他们被称为文字 ; 一套字面意思:

 aset = {'foo', 'bar'} 

或字典文字:

 adict = {'foo': 42, 'bar': 81} empty_dict = {} 

或列表文字:

 alist = ['foo', 'bar', 'bar'] empty_list = [] 

要创build一个空集,只能使用set()

集合是唯一元素的集合,您不能对它们进行sorting。 列表是有序的元素序列,值可以重复。 字典将键映射到值,键必须是唯一的。 Set和字典键也必须满足其他限制,以便Python能够实际上高效地跟踪它们,并知道它们是否将保持唯一。

还有tupletypes ,对一个或多个元素使用逗号,在许多情况下括号是可选的:

 atuple = ('foo', 'bar') another_tuple = 'spam', empty_tuple = () WARNING_not_a_tuple = ('eggs') 

请注意another_tuple定义中的逗号; 这是逗号使它成为一个tuple ,而不是括号。 WARNING_not_a_tuple不是一个元组,它没有逗号。 如果没有括号,你只剩下一个string。

有关更多详细信息,请参阅Python教程的数据结构一章 。 列表在介绍章节介绍 。

容器的文字也称为显示 ,语法允许基于循环的程序创build内容,称为综合

他们创造不同的types。

 >>> type({}) <type 'dict'> >>> type([]) <type 'list'> >>> type({1, 2}) <type 'set'> >>> type({1: 2}) <type 'dict'> >>> type([1, 2]) <type 'list'> 

这两个大括号用于不同的目的。 如果你只是想要一个列表来包含一些元素,并通过索引号(从0开始)来组织它们,只需要使用[]并根据需要添加元素。 {}是特别的,你可以给自定义id的值,如a = {"John": 14} 。 现在,不要用年龄列出一个列表,记住哪个年龄在哪里,你可以通过a["John"]来访问John的年龄。

[]被称为一个列表, {}被称为一个字典(在Python中)。 字典基本上是一个方便的列表forms,可以让您以更简单的方式访问数据。

但是,字典有一个问题。 很多时候,你放在字典中的数据不会和以前保持相同的顺序。 因此,当你一一浏览每一个价值时,它就不会按你所期望的顺序。 有一个特殊的字典来解决这个问题,但是你必须from collections import OrderedDict添加这一行from collections import OrderedDict并用OrderedDict()replace{} 。 但是,我认为现在你不需要担心这个问题。