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和字典的程序代码:
# Python3 program for explaining use of list, tuple, set and dictionary
# Lists
l = []
# 添加元素
l.append(15)
l.append(1101)
print("Adding 15 and 1101 in list", l)
#
l.pop()
print("Popped one element from list", l)
print()
# Set
s = set()
# Adding element into set
s.add(15)
s.add(1101)
print("Adding 15 and 1101 in set", s)
# Removing element from set
s.remove(15)
print("Removing 15 from set", s)
print()
# Tuple
t = tuple(l)
# Tuples are immutable
print("Tuple", t)
print()
# Dictionary
d = {}
# Adding the key value pair
d[5] = "5"\nd[10] = "10"\nprint("Dictionary", d)
# Removing key-value pair
del d[10]
print("Dictionary", d)
运行结果如下:
C:Usersmaxsu> & "E:/Program Files/Anaconda3.5.3.1/python.exe" C:/Users/maxsu/Desktop/test.py
Adding 15 and 1101 in list [15, 1101]
Popped one element from list [15]
Adding 15 and 1101 in set {1101, 15}
Removing 15 from set {1101}
Tuple (15,)
Dictionary {5: '5', 10: '10'}
Dictionary {5: '5'}
列表、集合、元组和字典的应用:
列表:
- 在JSON格式中使用;
- 适用于阵列操作;
- 在数据库中使用;
元组:
- 用于通过SQL查询在数据库中一次插入记录。例如:
(1, 'sravan', 34)
、(2, 'geek', 35)
- 在括号检查器中使用
集合:
- 寻找唯一的元素
- 连接操作
词典:
- 用于用列表创建一个数据框
- 在JSON中使用