一、python中常见的数据结构

1、元组(tuple):是不可变的序列,一旦创建,其元素就不能被修改。
- 元组使用小括号 () 来定义,元素之间用逗号分隔。
- 元组中的元素不能修改,这意味着不能添加、删除或更改元素的值。
- 元组通常用于存储一组固定不变的数据,比如坐标、日期等。
my_tuple = (1, 2, 3, 'a', 'b')
2、列表(list):是可变的序列,可以添加、删除和修改元素。
- 列表使用方括号 [] 来定义,元素之间同样用逗号分隔。
- 列表是可变的,可以随时添加、删除或修改元素。
- 列表适用于存储一系列可能会发生变化的数据,比如购物清单。
my_list = [4, 5, 6, 'c', 'd']
my_list.append(7) # 可以添加元素
my_list[0] = 10 # 可以修改元素
3、字典(dictionary):是一种键值对的数据结构,通过键来访问对应的值。
- 字典使用花括号 {} 来定义,由键值对组成,键和值之间用冒号 : 分隔,键值对之间用逗号分隔。
- 通过键来快速查找对应的值。
- 常用于存储具有映射关系的数据,比如学生的学号和姓名。
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict['name']) # 通过键获取值
4、集合(set):是不允许重复元素的无序集合,常用于去重和集合运算。
- 集合使用花括号 {} 来定义,或者通过 set() 函数创建。
- 集合中的元素是无序且不重复的。
- 常用于去除重复元素、进行集合的交并差等运算。
my_set = {1, 2, 3, 3, 4} # 重复的 3 会被自动去除
二、函数
1、元组

my_tuple = (1, 2, 3)
print(len(my_tuple)) # 输出 3
my_tuple = (1, 5, 2)
print(max(my_tuple)) # 输出 5
print(min(my_tuple)) # 输出 1
my_tuple = (1, 2, 3, 2)
print(my_tuple.index(2)) # 输出 1 (返回第一个匹配元素的索引)
my_tuple = (1, 2, 2, 3)
print(my_tuple.count(2)) # 输出 2
2、列表

##添加元素
#list.append
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # 输出:[1, 2, 3, 4]
#list.insert
my_list = [1, 2, 3]
my_list.insert(1, 5)
print(my_list) # 输出:[1, 5, 2, 3]
#list.remove
my_list = [1, 2, 2, 3]
my_list.remove(2)
print(my_list) # 输出:[1, 2, 3]
##移除元素
#list.pop
my_list = [1, 2, 3]
removed_item = my_list.pop()
print(removed_item) # 输出:3
print(my_list) # 输出:[1, 2]
#list.clear()
my_list = [1, 2, 3, 4, 5]
my_list.clear()
print(my_list) # 输出: []
##排序
#list.sort()
my_list = [3, 1, 2]
my_list.sort()
print(my_list) # 输出:[1, 2, 3]
##计数
#list.count()
my_list = [1, 2, 2, 3]
count = my_list.count(2)
print(count) # 输出:2
#list.reverse()
my_list = [1, 2, 3]
my_list.reverse()
print(my_list) # 输出:[3, 2, 1]
3、字典

#获取键值
my_dict = {'a': 1, 'b': 2, 'c': 3}
keys = my_dict.keys()
print(keys) # 输出: dict_keys(['a', 'b', 'c'])
my_dict = {'a': 1, 'b': 2, 'c': 3}
values = my_dict.values()
print(values) # 输出: dict_values([1, 2, 3])
my_dict = {'a': 1, 'b': 2, 'c': 3}
items = my_dict.items()
print(items) # 输出: dict_items([('a', 1), ('b', 2), ('c', 3)])
my_dict = {'a': 1, 'b': 2, 'c': 3}
value = my_dict.get('d', 0)
print(value) # 输出: 0
#增加元素
my_dict = {'a': 1, 'b': 2}
new_data = {'c': 3, 'd': 4}
my_dict.update(new_data)
print(my_dict) # 输出: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
my_dict = {'a': 1, 'b': 2}
my_dict['c'] = 3 # 新增键 'c' 对应的值为 3
print(my_dict) # 输出: {'a': 1, 'b': 2, 'c': 3}
#移除元素
my_dict = {'a': 1, 'b': 2, 'c': 3}
removed_value = my_dict.pop('b')
print(removed_value) # 输出: 2
print(my_dict) # 输出: {'a': 1, 'c': 3}
my_dict = {'a': 1, 'b': 2, 'c': 3}
del my_dict['c']
print(my_dict) # 输出: {'a': 1, 'b': 2}
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_dict.clear()
print(my_dict) # 输出: {}
4、集合

#添加元素
my_set = {1, 2, 3}
my_set.add(4)
print(my_set) # 输出 {1, 2, 3, 4}
#移除元素
my_set = {1, 2, 3}
my_set.remove(2)
print(my_set) # 输出 {1, 3}
my_set = {1, 2, 3}
my_set.discard(4) # 不会报错
my_set = {1, 2, 3}
removed_element = my_set.pop()
print(removed_element) # 输出随机移除的一个元素
my_set = {1, 2, 3}
my_set.clear()
print(my_set) # 输出 set()
#交并补
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)
print(union_set) # 输出 {1, 2, 3, 4, 5}
set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2)
print(intersection_set) # 输出 {3}
set1 = {1, 2, 3}
set2 = {3, 4, 5}
difference_set = set1.difference(set2)
print(difference_set) # 输出 {1, 2}
三、推导式
1、列表推导式
numbers = [1, 2, 3, 4, 5]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers) # [2, 4]
2、字典推导式
numbers = [1, 2, 3, 4, 5]
even_odd_dict = {num: 'even' if num % 2 == 0 else 'odd' for num in numbers}
print(even_odd_dict) # {1: 'odd', 2: 'even', 3: 'odd', 4: 'even', 5: 'odd'}
3、集合推导式
numbers = [1, 2, 3, 4, 5]
even_numbers = {num for num in numbers if num % 2 == 0}
print(even_numbers) # {2, 4}
面试Python必会的的基础知识:列表、元组、字典、集合的区别_列表元组字典集合的区别-CSDN博客