PAP3.4-列表推导式

在线练习 · 人工智能专业 2026级本科《Python人工智能程序设计》

说明

本练习在课堂内完成。请在本机使用 VS Code、Cursor 或 Devin Desktop 编写并运行,再将源代码与终端输出填入各题下方的文本框。

练习一:由表达式生成新列表

使用 [expression for item in iterable] 由已有序列生成新列表,并打印。

要求

  • 打印 [x ** 2 for x in range(1, 6)],输出为 [1, 4, 9, 16, 25]。
  • 将 names 赋值为 ["alice", "bob", "charlie"]。打印 [name.upper() for name in names],输出为 ['ALICE', 'BOB', 'CHARLIE']。
  • 打印 [len(name) for name in names],输出为 [5, 3, 7]。

练习二:数值换算

在列表推导式中完成除法与圆面积计算。换算结果使用 round 保留小数点后 2 位,并打印。

要求

  • 将 rmb_prices 赋值为 [100, 200, 300, 400]。按汇率 7.2 将人民币价格换算为美元,保留小数点后 2 位。打印该列表,输出为 [13.89, 27.78, 41.67, 55.56]。
  • 导入 math。将 radii 赋值为 [1, 2, 3, 4, 5]。圆面积按 math.pi * r ** 2 计算,保留小数点后 2 位。打印该列表,输出为 [3.14, 12.57, 28.27, 50.27, 78.54]。

练习三:按条件筛选

在列表推导式中使用 if 保留满足条件的元素,并打印。

要求

  • 将 numbers 赋值为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]。打印偶数列表,输出为 [2, 4, 6, 8, 10]。
  • 将 mixed_numbers 赋值为 [-3, -1, 0, 2, 5, -8, 7]。打印大于 0 的数,输出为 [2, 5, 7]。
  • 将 words 赋值为 ["cat", "dog", "elephant", "ant", "tiger"]。打印长度大于 3 的单词,输出为 ['elephant', 'tiger']。
  • 打印包含字母 a 的单词,输出为 ['cat', 'elephant']。

练习四:在推导式中使用条件表达式

使用 表达式 if 条件 else 表达式 为每个元素计算新值,并打印。

要求

  • 将 numbers 赋值为 [-2, 3, -1, 4, -5, 6]。大于 0 的数保持不变,其余改为 0。打印该列表,输出为 [0, 3, 0, 4, 0, 6]。
  • 将 scores 赋值为 [85, 92, 78, 96, 73, 88]。大于或等于 90 为优秀,大于或等于 80 且小于 90 为良好,小于 80 为及格。打印等级列表,输出为 ['良好', '优秀', '及格', '优秀', '及格', '良好']。