【Python专项】进阶语法-数据容器与文件(1)
·
进阶语法-数据容器与文件
1.数据类型

a = 10 # 数值(整数)类型
print(a,type(a))
b = 9.88 # 数值(浮点)类型
print(b,type(b))
c = True # 布尔类型(True/False)
print(c,type(c))
d = 'hello' # 字符串(容器)类型
print(d,type(d))
e = ['apple', 'banana', 'cherry'] # 列表(容器)类型
print(e,type(e))
f = (10,20,30) # 元组(容器)类型
print(f,type(f))
g = {'name':'kaser','age':'21',"addresses":"Shannxi Xian"} # 字典(容器)类型
print(g,type(g))
h = {10,20,20,30,30,30} # 集合(容器)类型
print(h,type(h))

📝 代码总结
- 核心知识点:Python 内置基础数据类型与容器类型
- 实现逻辑:通过不同字面量语法创建变量,使用
type()动态检测其数据类型,集合自动过滤重复值 - 关键语法:
type(),int/float/bool/str/list/tuple/dict/set字面量定义 - 功能作用:全面展示 Python 动态类型系统,帮助区分标量类型与容器类型,理解各类型的基础特征(如元组不可变、集合去重)
2.列表的定义与使用

# 1. 通过一对方括号来实现列表定义
fruit = ['apple', 'banana', 'orange']
# 2. 列表可以直接打印
print(fruit)
# 3. 判断fruit对应的数据类型
print(type(fruit))

📝 代码总结
- 核心知识点:列表(List)的基础定义与类型验证
- 实现逻辑:使用方括号包裹逗号分隔的元素创建列表,直接输出并检测类型
- 关键语法:
[元素1, 元素2],print(),type() - 功能作用:演示列表的最简创建方式,验证其作为有序可变容器的数据类型
3.列表对应的索引下标

# 字符串,列表,元组都有索引下标,默认从 0 开始,依次递增。
names = ['哈兰德','德布劳内','鲁本迪亚斯']
print(names,type(names))
print(names[0],type(names[0]))
print(names[1],type(names[1]))
print(names[2],type(names[2])) # 在一个列表中,index_max = len(list) - 1

📝 代码总结
- 核心知识点:序列类型的零基索引机制
- 实现逻辑:通过整数下标直接定位并访问容器中对应位置的元素
- 关键语法:
容器名[索引] - 功能作用:展示有序容器的随机访问能力,明确索引边界规则(最大索引 = 长度-1)
4.列表查询操作

names = ['Gemini','ChatGPT','DeepSeek']
print(names,type(names))
print(len(names)) # 获取列表中元素个数(长度)
print(names[0],names[1],names[2])
ip = '172.16.31.10'
black_ips = ['10.1.1.10','172.25.254.10','192.168.0.10']
if ip in black_ips: # in 关键词,判断指定元素是否出现在列表中。
print('访问失败,您的IP地址在我们黑名单中!')
else:
print('访问成功,IP地址不在黑名单中')

📝 代码总结
- 核心知识点:列表长度获取与成员资格测试
- 实现逻辑:使用
len()统计元素数量,使用in关键字结合条件语句判断元素是否存在 - 关键语法:
len(列表),元素 in 列表,if/else - 功能作用:提供列表基础查询能力,演示基于白名单/黑名单的访问控制逻辑实现
5.列表的增删改操作

"""
增加 => 列表.append(新元素):在列表的尾部追加新元素
删除 => del 列表[索引] 或 列表.remove(元素值)
修改 => 列表[索引] =新修改后的值
"""
# 1. 定义一个空列表(可打印)
list1 = []
print(list1,type(list1))
# 2. 新增元素
list1.append('x')
list1.append('y')
list1.append('z')
print(list1)
# 3. 删除操作
# 根据索引下标删除元素
del list1[1]
print(list1)
# 根据元素值移除元素
list1.remove('z')
print(list1)
# 4. 替换操作
list1[0] = 'n'
print(list1)

📝 代码总结
- 核心知识点:列表的动态增删改操作
- 实现逻辑:从空列表开始,尾部追加元素;按索引或值删除;按索引重新赋值修改
- 关键语法:
.append(),del list[idx],.remove(val),list[idx] = new_val - 功能作用:完整演示列表作为可变序列的 CRUD 操作,区分按位置删除与按值删除的适用场景
6.列表的翻转与排序操作

"""
翻转:reverse()就相当于把列表进行倒序排列
排序:sort()默认从小到大,添加一个reverse参数,可以实现从大到小
"""
list1 = ['apple', 'banana', 'cherry']
list1.reverse() # 等价于 list1 = list1[::1]
print(list1)
list2 = [30, 25, 35, 20, 10]
list2.sort()
print(list2) # 排序-从小到大
list2.sort(reverse=True)
print(list2)

📝 代码总结
- 核心知识点:列表原地翻转与排序
- 实现逻辑:调用内置方法直接修改原列表顺序;支持升序/降序切换;注释补充切片逆向替代方案
- 关键语法:
.reverse(),.sort(reverse=True),[::-1](注释) - 功能作用:提供数据重排能力,演示原地修改(In-place)特性与参数控制排序方向的方法
7.列表的遍历操作

"""
基本语法:
for 临时变量 in 数据容器:
数据容器的元素个数决定:有多少个元素,则循环机会循环多少次
每次循环时系统会自动将容器中的元素放入临时变量中
"""
list1 = ['x', 'y', 'z']
for i in list1:
print(i,type(i))
print(list1,type(list1))

📝 代码总结
- 核心知识点:基于
for循环的容器遍历 - 实现逻辑:迭代器自动按顺序提取容器元素赋值给临时变量,循环次数等于元素个数
- 关键语法:
for var in iterable: - 功能作用:展示 Python 最基础的顺序遍历模式,适用于所有可迭代对象
8.列表实现随机点名程序

"""
点名程序
1. 定义一组数据(所有点名人员名单)
2. 引入random模块,用于生成随机数 => 相当于列表的索引下标
3. 根据索引下标抽取用户信息
"""
import random
student_list = ['杜皓杰','姜昆沅','鄢语晨','方艺凝','雒煊','高菘菘']
print(student_list)
# 分析: Max = len(student_list) - 1, Min = 0
# index 范围 [0,len(student_list) - 1]
for i in range(1,11):
index = random.randint(0, len(student_list) - 1)
print(f"你是第{i}位幸运儿:",student_list[index])

📝 代码总结
- 核心知识点:随机数生成与列表索引结合应用
- 实现逻辑:生成合法范围内的随机整数作为索引,通过索引访问列表元素
- 关键语法:
import random,random.randint(a, b),len(),列表索引访问 - 功能作用:将基础语法融会贯通,实现动态随机抽取功能,演示索引边界的安全控制
9.元组的定义与使用

"""
定义 tuple 元组,需要使用 ()
单元素元组 (xxx,)
多元素元组 (xxx,aaa,bbb)
元组,只要被定义,元组内的数据不会被修改;
有些数据结构,必须使用元组进行数据传输,如函数类型,传参时,可以使用元组来接收所有的参数
"""
# 定义 单元/多元 tuple 元组
tuple1 = (10,)
print(tuple1,type(tuple1))
tuple2 = (10,20,30)
print(tuple2,type(tuple2))
# 被定义之后,数据不会被修改 --> 保护数据
# del tuple1
# print(tuple1)

📝 代码总结
- 核心知识点:元组(Tuple)定义、单元素语法与不可变性
- 实现逻辑:使用圆括号创建;单元素必须加逗号;注释演示修改/删除会报错;支持索引与遍历读取
- 关键语法:
(val,),(v1, v2),索引访问,for遍历 - 功能作用:展示只读数据容器的创建与访问方式,强调其在数据保护与函数传参中的特殊用途
10.字典的定义与使用

"""
列表:适合大批量数据的存储
字典:适合某一事物的存储,如一个人、一本书、一个商品、一台主机
"""
# 空字典(内部没有键值对)
dict1 = {}
print(dict1,type(dict1))
# 数据字典
dict2 = {'name':'Kaser','age':'21','address':'Shannxi xian'}
print(dict2,type(dict2))

📝 代码总结
- 核心知识点:字典(Dict)的基础定义与适用场景
- 实现逻辑:使用花括号创建空字典或键值对集合,打印结构与类型
- 关键语法:
{},{key: value} - 功能作用:引入映射型数据结构,对比列表说明字典更适合描述实体属性(Key-Value 模型)
11.字典的增删改操作

"""
字典和列表一样比较灵活,支持增删改操作
增加与修改操作,基本语法
字典名称[key] = value值
如果字典中没有这个key,则以上就相当于增加操作!
如果字典中存在这个key,则以上就相当于修改操作
字典删除操作,基本语法
del 字典名称[key],根据这个key,删除指定的key:value键值对
"""
dict1 = {}
dict1['name'] = 'Kaser'
dict1['age'] = 21
print(dict1,type(dict1))
print('-' * 20 )
dict1['name'] = 'Saker'
dict1['age'] = 33
print(dict1,type(dict1))
print('-' * 20 )
del dict1['age']
print(dict1,type(dict1))
del dict1['name']
print(dict1,type(dict1))

📝 代码总结
- 核心知识点:字典的动态增删改机制
- 实现逻辑:通过键赋值实现“无则增、有则改”;使用
del按键删除键值对 - 关键语法:
dict[key] = val,del dict[key] - 功能作用:演示字典基于哈希键的高效数据维护方式,统一增改语法简化代码逻辑
12.字典的查询方法

dict1 = {'name':'Kaser','age':21}
print(dict1,type(dict1))
print(dict1['name'])
print(dict1['age'])
print('@' * 20 )
# 查看字典中的 key
for i in dict1.keys():
print(i)
print('@' * 20)
# 查看字典中的 value
for j in dict1.values():
print(i)
print('@' * 20)
for i,j in dict1.items():
print(i,j)

📝 代码总结
- 核心知识点:字典的键值查询与视图迭代
- 实现逻辑:直接按键取值;调用
.keys()/.values()/.items()获取视图对象并配合for遍历 - 关键语法:
dict[key],.keys(),.values(),.items(),多变量解包for k, v in ... - 功能作用:提供多维度字典数据提取方式,满足仅遍历键、仅遍历值或同时处理键值对的不同业务需求
更多推荐



所有评论(0)