Python中的大括号和方括号有什么区别?
在Python中的大括号和方括号有什么区别?
A ={1,2} B =[1,2]
当我在terminal上打印A
和B
时,他们没有任何区别。 这是真的吗?
有时,我注意到有些代码使用{}
和[]
来初始化不同的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能够实际上高效地跟踪它们,并知道它们是否将保持唯一。
还有tuple
types ,对一个或多个元素使用逗号,在许多情况下括号是可选的:
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{}
。 但是,我认为现在你不需要担心这个问题。