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中使用