What is the difference between curly brace and square bracket in Python?
python中的花括号和方括号有什么区别?
1 2 | A ={1,2} B =[1,2] |
当我在终端上打印
有时,我注意到一些代码使用
例如:
有什么区别吗?
大括号创建字典或集合。方括号创建列表。
它们被称为文本;集合文本:
1 | aset = {'foo', 'bar'} |
或字典文字:
1 2 | adict = {'foo': 42, 'bar': 81} empty_dict = {} |
或列表文字:
1 2 | alist = ['foo', 'bar', 'bar'] empty_list = [] |
要创建空集,只能使用
集合是唯一元素的集合,不能对它们排序。列表是元素的有序序列,值可以重复。字典将键映射到值,键必须是唯一的。set和dictionary键也必须满足其他限制,以便python能够有效地跟踪它们,并知道它们是唯一的。
还有
1 2 3 4 | atuple = ('foo', 'bar') another_tuple = 'spam', empty_tuple = () WARNING_not_a_tuple = ('eggs') |
注意
有关更多详细信息,请参见Python教程的"数据结构"一章;介绍一章中介绍了列表。
这些容器的文本也称为显示,并且语法允许基于循环(称为理解)的内容的过程性创建。
它们创建不同的类型。
1 2 3 4 5 6 7 8 9 10 | >>> type({}) <type 'dict'> >>> type([]) <type 'list'> >>> type({1, 2}) <type 'set'> >>> type({1: 2}) <type 'dict'> >>> type([1, 2]) <type 'list'> |
这两个支架的用途不同。如果您只希望一个列表包含一些元素并按索引编号(从0开始)组织它们,那么只需使用
然而,字典有一个缺点。很多时候,你放在字典里的数据和以前的顺序不一样。因此,当您逐一检查每个值时,它将不符合您期望的顺序。有专门的字典可以解决这个问题,但是您必须添加这一行