(一)列表
1.1列表的概念:列表是一种存储大量数据的存储模型。
1.2列表的特点:列表具有索引的概念,可以通过索引操作列表中的数据。列表中的数据可以进行添加、删除、修改、查询等操作。
1.3列表的基本操作:
创建列表: 变量名 = [数据1,数据2,……]
获取列表数据: 变量名[索引]
修改列表数据: 变量名[索引] = 值
# 列表的增删改查
list1 = ["a", "b", "c", "d", "e", "f", "g", "h"]
list2 = ["j", "k"]
# **********************************************
# print(list1[3]) # 列表查询
# print(list1.index("a")) # 列表根据元素查索引位置
# **********************************************
# list1.append("i") # 列表末尾增加
# print(list1)
# list1.extend(list2) # 列表末尾追加另一个列表
# print(list1)
# **********************************************
# list1[0] = "A" # 列表修改
# print(list1)
# list1.insert(1,"B") # 列表元素插入,需明确插入的索引位置和插入对象
# # print(list1)
# **********************************************
# list1.remove("a") # 列表删除指定元素
# print(list1)
# list1.pop(0) # 列表删除,默认不填索引从最后一位删除,pop方法有返回值
# print(list1)
# **********************************************
# list1.reverse() # 列表反转
# print(list1)
# list1.sort(reverse=True) # 列表排序,括号默认不填表示从小到大排序
# print(list1)
# print(list1.count("a")) # 统计字母a出现的次数
print(list1[1:6:2]) # 列表切片
print(list1.clear()) # 列表清除
(二)元组
2.1 元组的概念:元组是一种存储固定数据的存储模型。
2.2 元组的特点:元组具有索引的概念,可以通过索引操作元组中的数据。元组中的数据可以进行查询操作,但不能进行添加、删除、修改操作。
2.3 元组的基本语法:
创建元组: 变量名 = (数据1,数据2,……)
获取元组数据: 变量名[索引]
tuple1 = ("a", "b", "c", "d", "e", "f", "g", "h")
# 注意事项:元组不支持修改,增加,删除
print(tuple1.index("f")) # 查询某元素的索引位置
print(tuple1.count("d")) # 统计某元素的个数
print(tuple1[0:6:2]) # 元组的切片
print(tuple1[0]) # 元组的查询
2.4元组的注意事项
元组中的数据如果是非引用类型数据,不允许修改
元组中的数据如果是引用类型对象,该对象不允许替换,而对象的属性值可以发生改变
2.5元组的特殊应用
**自动组包:**将多个数据赋值给一个变量时,多个数据将包装成一个元组,将元组赋值给变量,该过程称为自动组包。
应用场景1:设置返回值为多个值
return 1,2,3 等同于 return (1,2,3)
应用场景2:动态字符串赋值传值方式
print(“坐标%d,%d” % (10,20))
**自动解包:**将元组赋值给多个变量时,如果元组数据的数量与变量的数量相同,元组将被自动拆分成多个值,并赋值给对应变量,该过程称为自动解包。
场景1:多个变量接收返回值
a,b,c = func() # 等同于 a,b,c = (1,2,3)等同于a,b,c = 1,2,3
场景2:动态字符串赋值取值方式
print(“坐标%d,%d” % (10,20)) # 将10给第一个%d,将20给第二个%d
(三)集合
3.1 集合的概念:集合是一种存储大量无序不重复数据的存储模型。
3.2 集合的特点:集合没有索引的概念。集合中的数据可以进行添加、删除等操作。
3.3 集合的基本语法
创建集合: 变量名 = {数据1,数据2,……}
3.4 集合的常用操作:
set1 = {"a", "b", "c", "d", "e", "f", "g", "h"}
# set1.add("i")
# print(set1) # 集合元素增加,add方法
# set1.clear() # 删除集合所有元素
# set1.pop()
# print(set1) # 删除集合元素,有返回值,没有索引可以用
# set1.remove("h") # 集合删除指定元素
# print(set1)
(四)字典
4.1 字典的概念:字典是一种使用“键值对结构”存储数据的存储模型。
4.2 字典的特点:
(1)字典不具有索引的概念,字典使用键key代替索引,可以通过键操作字典中存储的数据值value。
(2)字典可以根据键key进行数据的添加、删除、修改、查询操作。
(3)字典中的键是唯一的
4.3 字典的基本语法
创建字典: 变量名 = {键1:值1,键2:值2,……}
添加数据: 变量名[键] = 值 (字典中没有对应的键)
获取数据: 变量名[键]
修改数据: 变量名[键] = 值 (字典中存在对应的键)
4.4 字典的常用方法:
dict1 = {"a": 1, "b": 2, "c": 3, "d": 4}
dict2 = {"e":5}
# dict1.pop("a")
# print(dict1) # 集合根据“键”删除指定键值对,返回值是键对应的值
# print(dict1.popitem()) # 默认删除最后一个键值对,返回值是该键值对的元组形式
# print(dict1)
# dict1.clear() # 清空字典
dict1.update(dict2)
print(dict1) # 更新字典内容,键存在则更新,不存在则新增
print(dict1.get("b")) # 通过键获取对应的值
dict1.keys() # 获取所有键组成的列表
dict1.values() # 获取所有值组成的列表
dict1.items() # 获取所有键值对组成的列表
(五)列表、元组、集合之间的转换
列表list转换成元组:tuple(列表对象),转换以后数据不能更改
列表list转换成集合:set(列表对象),列表如果有重复数据转换成集合以后可以去重
元组tuple转换成列表:list(元组对象),转换以后数据可以更改
元组tuple转换成集合:set(元组对象),元组如果有重复数据转换成集合后可以去重
集合set转换成列表:list(集合对象),转换成列表以后,操作方法增多
集合set转换成元组:tuple(集合对象),转换成元组以后,数据不能更改
(六)for循环遍历
6.1 for循环用于对数据存储模型进行访问遍历。
for 变量名 in 列表:
____变量相关操作
(七)range
7.1 range的功能:创建连续的整数
7.2 range使用格式:
格式1:range(m) 生成 0 到 m-1 的整数
格式2:range(m,n) 生成 m 到 n-1 的整数
格式3:range(m,n,s) 生成 m 到 n-1 的整数,整数间隔为s
7.3 range的应用场景
1.配合for循环构造指定次数的循环
for _ in range(..):
____循环执行的代码
2.快速创建由连续的整数作为数据的列表、元组、集合对象
list(range(..))
tuple(range(..))
set(range(..))