Python内置数据结构与操作符练习指南
本文精选10道Python内置数据结构与常用操作符的基础练习题,涵盖列表、字符串、字典的操作及高阶函数应用。提供Python 3标准解法与核心逻辑解析,帮助开发者快速掌握数据处理的底层方法与高效写法。
Python内置数据结构与操作符实战演练
第1步:初始化变量并执行基础算术输出
目的:掌握多变量同时赋值与基础运算符的使用。
操作:定义两个整数并在终端直接打印它们的和。
# 支持并列赋值与表达式计算
a, b = 1, 2
print(a + b)完成状态:终端稳定输出对应算术结果,确认环境已切换至Python 3语法规范。
第2步:列表升序排序与原地变更
目的:区分生成新对象与修改原对象的排序行为差异。
操作:对给定列表进行升序排列,分别使用全局函数与实例方法。
L = [2, 8, 3, 5]
# 返回新排序列表,原L不变
new_L = sorted(L)
print(new_L)
# 原地排序,直接修改L内存地址的内容
L.sort()
print(L)完成状态:控制台连续打印两行相同序列,变量作用域与内存引用关系符合预期。
第3步:字符串切片逆序与奇位提取
目的:熟悉步进切片语法与列表推导式的组合应用。
操作:利用步长为负数的切片反转字符串;通过范围遍历与取模运算筛选偶数索引字符。
s = '12345'
# 逆序输出
rev_s = s[::-1]
print(rev_s)
# 提取索引0,2,4位置的字符
odd_pos = ''.join([s[i] for i in range(len(s)) if i % 2 == 0])
print(odd_pos)完成状态:依次输出反转串与指定位置子串,推导式逻辑无越界报错。
第4步:字典键值提取与分隔符拼接
目的:掌握字典视图迭代与字符串Join方法。
操作:获取字典所有键名,将其转为字符串并按逗号连接。
d = {1: 1, 2: 2, 3: 3}
# keys()返回可迭代视图,配合生成器表达式转换类型后拼接
result = ','.join(str(k) for k in d.keys())
print(result)完成状态:输出格式化为连续的字符串标识,未触发类型不匹配异常。
第5步:素数判定逻辑验证
目的:理解列表推导式配合布尔掩码的过滤机制。
操作:遍历2到100的整数,排除能整除的小于自身的因数,保留质数。
primes = [
x for x in range(2, 101)
if not any(x % y == 0 for y in range(2, x))
]
for p in primes:
print(p, end=' ')
print()完成状态:终端紧凑输出全部百以内素数,空格分隔清晰。
第6步:矩形面积周长批量计算
目的:练习多返回值并行输出与格式对齐。
a, b = 5, 3
print(f"面积: {a * b}, 周长: {2 * (a + b)}")第7步:数据集中位数安全计算
目的:处理奇偶长度列表的中间值定位,避免整除精度丢失。
data = [0, 1, 2, 3, 4]
data_sorted = sorted(data)
m = len(data_sorted) // 2
median = (
data_sorted[m]
if len(data_sorted) % 2 != 0
else (data_sorted[m] + data_sorted[m - 1]) / 2.0
)
print(median)第8步:最大公约数与最小公倍数求解
目的:替代低效遍历,引入标准数学库提升性能。
import math
a, b = 24, 36
gcd_val = math.gcd(a, b)
lcm_val = (a * b) // gcd_val
print(gcd_val, lcm_val)进阶工具:高阶函数映射与归约应用
第9步:基于map/reduce的阶乘累加
目的:实践函数式编程范式计算级数。
操作:使用reduce计算单值阶乘,外层map批量生成,最后reduce汇总求和。
from functools import reduce
# 单个数字的阶乘
fact = lambda n: reduce(lambda x, y: x * y, range(1, n + 1))
# 1!+2!+3!+4!+5!
total = reduce(lambda a, b: a + b, map(fact, range(1, 6)))
print(total)完成状态:正确输出级数和,导入路径与回调签名符合Python 3要求。
第10步:filter函数清洗质数序列
目的:掌握真值判断与流式过滤器的协同。
is_prime = lambda x: x > 1 and all(x % i != 0 for i in range(2, int(x**0.5) + 1))
sieve_result = list(filter(is_prime, range(2, 101)))
print(sieve_result)排查要点与总结
练习过程中需重点关注语法版本差异。Python 3强制要求print作为函数调用并添加括号,除法默认返回浮点数需使用整除符`//`防错,且`reduce`已移至`functools`模块。上述解法均经过本地终端验证,可直接嵌入教学环境或刷题平台。
以上就是Python内置数据结构与操作符练习指南的详细内容,更多关于Python基础语法与数据结构优化的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













