Python中List、Tuple、Set和Dictionary的区别和应用
列表(List):就像其他语言中声明的动态大小的数组(C++中的vector和Java中的ArrayList)。List不需要总是同质的,这使得它成为 Python 中最强大的工具。
元组(Tuple):元组是一个由逗号分隔的 Python 对象的集合。在某些方面,元组在索引、嵌套对象和重复方面与列表相似,但元组是不可改变的,不像列表是可改变的。
集合(Set):Set 是一个无序的集合数据类型,它是可迭代的,可变的,并且没有重复的元素。Python的集合类代表了一个集合的数学概念。
字典(Dictionary):在Python中是一个有序的(从Py 3.7开始)[无序的(Py 3.6及以前)]数据值的集合,用来存储数据值,就像map一样,与其他数据类型只保存一个值作为元素不同,Dictionary保存键值对。在字典中提供键值是为了使其更加优化。
List、Tuple、Set和Dictionary是Python中的数据结构,用于有效地存储和组织数据:
List | Tuple | Set | Dictionary |
---|---|---|---|
列表是一种非同质的数据结构,以单行和多行、多列的方式存储元素 | 元组也是一种非同质的数据结构,以单行和多行、多列的方式存储 | 元组数据结构也是一种非同质的数据结构,但以单行方式存储 | 字典也是一种非同质的数据结构,存储键值对。 |
列表可以用 [] 表示 |
元组可以用 () 表示 |
集合可以用 {} 来表示 |
字典可以用 {} 来表示 |
列表允许重复的元素 | 元组允许重复的元素 | 集合不允许重复的元素 | 集合不允许重复的元素,字典不允许重复的键。 |
列表可以在所有列表中使用嵌套 | Tuple可以在所有元组之间使用嵌套 | 集合可以在所有字典中使用嵌套 | 字典可以在所有字典中使用嵌套 |
示例: [1, 2, 3, 4, 5] |
示例: (1, 2, 3, 4, 5) |
示例: {1, 2, 3, 4, 5} |
示例: {1, 2, 3, 4, 5} |
列表可以用 list() 函数创建 |
元组可以用 tuple() 函数创建。 |
Set可以用 set() 函数创建 |
字典可以用 dict() 函数创建。 |
列表是可变的,即可以在列表中做任何改变。 | 元组是不可变的,即不能对元组做任何改变。 | 集合是可变的,即可以对集合做任何改变。但元素是不重复的。 | 字典是可变的,但是键不会被复制。 |
列表是有序的 | 元组是有序的 | 集合是无序的 | 字典是有序的 (Python 3.7及以上版本) |
重新生成一个空列表: l=[] |
创建一个空Tuple: t=() |
创建一个集合: a=set(); b=set(a) |
创建一个空字典: d={} |
下面是实现List、tuple、set和字典的程序代码:
运行结果如下:
列表、集合、元组和字典的应用:
列表:
- 在JSON格式中使用;
- 适用于阵列操作;
- 在数据库中使用;
元组:
- 用于通过SQL查询在数据库中一次插入记录。例如:
(1, 'sravan', 34)
、(2, 'geek', 35)
- 在括号检查器中使用
集合:
- 寻找唯一的元素
- 连接操作
词典:
- 用于用列表创建一个数据框
- 在JSON中使用