当前位置: 首页 > news >正文

列表使用练习题

商品价格计算

题目描述

购物车中有5件商品,计算总价格。

输出示例

=== 商品价格计算 ===
商品价格: [25.5, 18.0, 32.8, 15.2, 40.0]
总价格:131.5元

实现代码

print("=== 商品价格计算 ===")prices = [25.5, 18.0, 32.8, 15.2, 40.0]
print("商品价格:", prices)total_price = prices[0] + prices[1] + prices[2] + prices[3] + prices[4]
print("总价格:" + str(total_price) + "元")

水果库存管理

题目描述

计算水果库存总量。

输出示例

=== 水果库存管理 ===
水果种类: ['苹果', '香蕉', '橙子', '葡萄', '梨']
库存数量: [120, 85, 90, 60, 75]
总库存量:430斤

实现代码

print("=== 水果库存管理 ===")fruits = ['苹果', '香蕉', '橙子', '葡萄', '梨']
quantities = [120, 85, 90, 60, 75]print("水果种类:", fruits)
print("库存数量:", quantities)total_quantity = quantities[0] + quantities[1] + quantities[2] + quantities[3] + quantities[4]
print("总库存量:" + str(total_quantity) + "斤")

运动会项目报名

题目描述

显示运动会项目和对应的报名人数。

输出示例

=== 运动会项目报名 ===
项目名称: ['100米跑', '跳远', '铅球', '接力赛', '跳高']
报名人数: [25, 18, 12, 30, 15]
100米跑:25人
跳远:18人
铅球:12人
接力赛:30人
跳高:15人

实现代码

print("=== 运动会项目报名 ===")events = ['100米跑', '跳远', '铅球', '接力赛', '跳高']
participants = [25, 18, 12, 30, 15]print("项目名称:", events)
print("报名人数:", participants)print(events[0] + ":" + str(participants[0]) + "人")
print(events[1] + ":" + str(participants[1]) + "人")
print(events[2] + ":" + str(participants[2]) + "人")
print(events[3] + ":" + str(participants[3]) + "人")
print(events[4] + ":" + str(participants[4]) + "人")

基础切片操作

题目描述

给定一个列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],使用切片操作完成以下任务:

  1. 获取前5个元素

  2. 获取后3个元素

  3. 获取从第3个到第8个元素

  4. 获取从第2个到倒数第3个元素

输出示例

原始列表: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
前5个元素: [0, 1, 2, 3, 4]
后3个元素: [8, 9, 10]
第3到第8个元素: [2, 3, 4, 5, 6, 7]
第2到倒数第3个元素: [1, 2, 3, 4, 5, 6, 7, 8]

实现代码

# 原始列表
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 切片操作
first_five = numbers[:5]
last_three = numbers[-3:]
third_to_eighth = numbers[2:8]
second_to_third_last = numbers[1:-2]# 输出结果
print("原始列表:", numbers)
print("前5个元素:", first_five)
print("后3个元素:", last_three)
print("第3到第8个元素:", third_to_eighth)
print("第2到倒数第3个元素:", second_to_third_last)

步长切片

题目描述

使用步长参数完成以下切片操作:

  1. 获取所有偶数索引的元素

  2. 获取所有奇数索引的元素

  3. 反转列表

  4. 从末尾开始每隔一个元素取一个

输出示例

原始列表: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
偶数索引: ['a', 'c', 'e', 'g']
奇数索引: ['b', 'd', 'f', 'h']
反转列表: ['h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']
末尾隔项选取: ['h', 'f', 'd', 'b']

实现代码

# 原始列表
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']# 步长切片操作
even_index = letters[::2]
odd_index = letters[1::2]
reversed_list = letters[::-1]
reverse_every_other = letters[::-2]# 输出结果
print("原始列表:", letters)
print("偶数索引:", even_index)
print("奇数索引:", odd_index)
print("反转列表:", reversed_list)
print("末尾隔项选取:", reverse_every_other)

添加元素任务

题目描述

已知一个初始列表 fruits,存储了几种水果名称(初始内容为 ["apple", "banana"])。请通过列表的内置操作完成以下添加元素的任务:

  1. 向列表的末尾添加单个水果名称 "orange";

  2. 向列表的末尾一次性添加两个水果名称 "grape" 和 "watermelon";

  3. 在列表索引为 1 的位置(即 "banana" 之前)插入水果名称 "pear";

  4. 最后输出最终的列表,查看添加结果。

输出示例

['apple', 'pear', 'banana', 'orange', 'grape', 'watermelon']

实现代码

# 定义初始水果列表
fruits = ["apple", "banana"]# 向列表末尾添加单个元素
fruits.append("orange")# 向列表末尾添加多个元素
fruits.extend(["grape", "watermelon"])# 在指定索引位置插入元素
fruits.insert(1, "pear")# 输出最终列表
print(fruits)

列表运算符的基础应用

题目描述

已知两个列表 numbers = [1, 3, 5] 和 letters = ['a', 'b']。请使用列表运算符完成以下操作:

  1. 用 + 运算符将两个列表合并为一个新列表;

  2. 用 * 运算符将 letters 列表重复 3 次,生成新列表;

  3. 用 in 运算符判断元素 3 是否在 numbers 列表中;

  4. 用 not in 运算符判断元素 'c' 是否不在 letters 列表中;

  5. 依次打印上述 4 个操作的结果。

输出示例

[1, 3, 5, 'a', 'b']

['a', 'b', 'a', 'b', 'a', 'b']

True

True

实现代码

# 定义初始列表
numbers = [1, 3, 5]
letters = ['a', 'b']# 1. 合并两个列表(+ 运算符)
merged_list = numbers + letters# 2. 重复列表元素(* 运算符)
repeated_letters = letters * 3# 3. 判断元素是否存在(in 运算符)
is_3_in = 3 in numbers# 4. 判断元素是否不存在(not in 运算符)
is_c_not_in = 'c' not in letters# 打印所有结果
print(merged_list)
print(repeated_letters)
print(is_3_in)
print(is_c_not_in)

数字列表的基本排序

题目描述

有一个数字列表,需要分别进行升序和降序排序,并显示排序结果。

输出示例

原始列表: [23, 1, 45, 12, 67, 3, 89, 34]
升序排序: [1, 3, 12, 23, 34, 45, 67, 89]
降序排序: [89, 67, 45, 34, 23, 12, 3, 1]

实现代码

# 创建数字列表
numbers = [23, 1, 45, 12, 67, 3, 89, 34]
print("原始列表:", numbers)# 升序排序
ascending_numbers = numbers.copy()
ascending_numbers.sort()
print("升序排序:", ascending_numbers)# 降序排序
descending_numbers = numbers.copy()
descending_numbers.sort(reverse=True)
print("降序排序:", descending_numbers)

字符串列表的不同排序方式

题目描述

有一个字符串列表['Apple', 'banana', 'Cherry', 'date', 'Elderberry'],需要按三种不同方式排序:

  1. 默认排序(按ASCII码)

  2. 忽略大小写排序

  3. 按字符串长度排序

输出示例

原始列表: ['Apple', 'banana', 'Cherry', 'date', 'Elderberry']
默认排序: ['Apple', 'Cherry', 'Elderberry', 'banana', 'date']
忽略大小写: ['Apple', 'banana', 'Cherry', 'date', 'Elderberry']
按长度排序: ['date', 'Apple', 'banana', 'Cherry', 'Elderberry']

实现代码

# 创建字符串列表
words = ['Apple', 'banana', 'Cherry', 'date', 'Elderberry']
print("原始列表:", words)# 默认排序(按ASCII码)
default_sorted = words.copy()
default_sorted.sort()
print("默认排序:", default_sorted)# 忽略大小写排序
case_insensitive = words.copy()
case_insensitive.sort(key=str.lower)
print("忽略大小写:", case_insensitive)# 按字符串长度排序
length_sorted = words.copy()
length_sorted.sort(key=len)
print("按长度排序:", length_sorted)

学生管理系统

题目描述

管理一个学生列表,实现添加学生、删除指定学生、删除最后加入的学生等功能。

输出示例

初始学生列表: ['张三', '李四', '王五']
添加赵六和钱七后: ['张三', '李四', '王五', '赵六', '钱七']
删除李四后: ['张三', '王五', '赵六', '钱七']
删除最后一个学生(钱七)后: ['张三', '王五', '赵六']
删除第一个学生(张三)后: ['王五', '赵六']
清空学生列表后: [ ]

实现代码

# 初始学生列表
students = ['张三', '李四', '王五']
print("初始学生列表:", students)# 添加新学生
students.append('赵六')
students.append('钱七')
print("添加赵六和钱七后:", students)# 删除指定学生(李四)
if '李四' in students:students.remove('李四')print("删除李四后:", students)# 删除最后一个学生
last_student = students.pop()
print(f"删除最后一个学生({last_student})后:", students)# 删除索引0的学生(张三)
first_student = students.pop(0)
print(f"删除第一个学生({first_student})后:", students)# 清空学生列表
students.clear()
print("清空学生列表后:", students)

学生成绩管理系统

题目描述

对学生期末考试成绩进行管理和清理。请按顺序完成以下操作:

  1. 删除所有不及格成绩(60分以下)

  2. 删除最高分和最低分(各删除一个)

  3. 删除指定分数段的学生成绩(70-80分之间)

  4. 删除重复的成绩(保留第一次出现的成绩)

输出示例

原始成绩: [85, 42, 96, 53, 78, 61, 89, 96, 30, 95, 67, 85, 42, 88, 72]
删除不及格后: [85, 96, 78, 61, 89, 96, 95, 67, 85, 88, 72]
删除最高最低分后: [85, 78, 61, 89, 96, 95, 67, 85, 88, 72]
删除70-80分后: [85, 61, 89, 96, 95, 67, 85, 88]
删除重复成绩后: [85, 61, 89, 96, 95, 67, 88]

实现代码

# 学生成绩原始数据
scores = [85, 42, 96, 53, 78, 61, 89, 96, 30, 95, 67, 85, 42, 88, 72]
print("原始成绩:", scores)# 步骤1:删除所有不及格成绩(<60分)
step1_scores = scores.copy()
step1_scores = [score for score in step1_scores if score >= 60]
print("删除不及格后:", step1_scores)# 步骤2:删除最高分和最低分(各删除一个)
step2_scores = step1_scores.copy()
if step2_scores:max_score = max(step2_scores)min_score = min(step2_scores)# 删除第一个最高分for i in range(len(step2_scores)):if step2_scores[i] == max_score:removed_max = step2_scores.pop(i)break# 删除第一个最低分for i in range(len(step2_scores)):if step2_scores[i] == min_score:removed_min = step2_scores.pop(i)breakprint("删除最高分最低分后:", step2_scores)# 步骤3:删除指定分数段的学生成绩(70-80分之间)
step3_scores = step2_scores.copy()
scores_to_remove = []
step3_scores = [score for score in step3_scores if not (70 <= score <= 80)]print("删除70-80分后:", step3_scores)# 步骤4:删除重复的成绩(保留第一次出现的成绩)
step4_scores = []
seen_scores = set()
removed_duplicates = []for score in step3_scores:if score not in seen_scores:seen_scores.add(score)step4_scores.append(score)else:removed_duplicates.append(score)print("删除的重复成绩后:", removed_duplicates)

清理电商平台商品价格数据

题目描述

你是一家电商公司的数据分析员,需要清理商品价格数据。原始数据中存在以下问题:

  • 空值(None)

  • 价格为0或负数的无效数据

  • 价格过高(超过10000元)的异常值

  • 重复的价格记录

输出示例

原始价格数据: [299, None, 1599, -99, 899, 1599, 99999, 459, None, 1299, 8888, 459, 0, 1999]
删除空值后: [299, 1599, -99, 899, 1599, 99999, 459, 1299, 8888, 459, 0, 1999]
删除无效价格后: [299, 1599, 899, 1599, 99999, 459, 1299, 8888, 459, 1999]
删除异常高价后: [299, 1599, 899, 1599, 459, 1299, 8888, 459, 1999]
删除重复价格后: [299, 1599, 899, 459, 1299, 8888, 1999]

实现代码

# 电商平台商品价格原始数据
prices = [299, None, 1599, -99, 899, 1599, 99999, 459, None, 1299, 8888, 459, 0, 1999]
print("原始价格数据:", prices)# 复制原始数据,避免修改原数据
cleaned_prices = prices.copy()# 步骤1:删除空值(None)i = 0
while i < len(cleaned_prices):if cleaned_prices[i] is None:removed_value = cleaned_prices.pop(i)else:i += 1
print("删除空值后:", cleaned_prices)# 步骤2:删除无效价格(0或负数)i = 0
while i < len(cleaned_prices):if cleaned_prices[i] <= 0:removed_value = cleaned_prices.pop(i)else:i += 1
print("删除无效价格后:", cleaned_prices)# 步骤3:删除异常高价(超过10000元)i = 0
while i < len(cleaned_prices):if cleaned_prices[i] > 10000:removed_value = cleaned_prices.pop(i)else:i += 1
print("删除异常高价后:", cleaned_prices)# 步骤4:删除重复价格(保留第一次出现)seen_prices = set()
i = 0
while i < len(cleaned_prices):if cleaned_prices[i] not in seen_prices:seen_prices.add(cleaned_prices[i])i += 1else:removed_value = cleaned_prices.pop(i)print("删除重复价格后:", cleaned_prices)

http://www.dtcms.com/a/515823.html

相关文章:

  • 杭州悦数与复旦大学共建“先进金融图技术”校企联合研究中心”正式揭牌
  • 网站怎么做搜索栏蓝海网站建设
  • Win11系统更新导致博图v15.1授权报错
  • 项目案例作业3(AI辅助):使用DAO模式改造学生信息管理系统
  • 责任链模式:灵活处理请求的设计模式
  • 什么是邮件打开率?邮件营销打开率影响因素有哪些?
  • 未来的 AI 操作系统(七)——认知共生:AI 与人类的协作边界
  • 快速入门LangChain4j Ollama本地部署与阿里百炼请求大模型
  • 虫情测报灯:精准预警,守护农田安全
  • 如何设置电脑分辨率和显示缩放
  • 【GESP】C++四级真题 luogu-B4069 [GESP202412 四级] 字符排序
  • Solana 官宣中文名「索拉拉」,中文 Meme 叙事正成为链上新主流
  • 《巨神军师》在电脑上多开不同窗口不同IP的教程
  • led灯 东莞网站建设公司注册资金减少意味着什么
  • 如何正确理解flink 消费kafka时的watermark
  • 未来的 AI 操作系统(六)——从“大模型”到“小智能”:Agent生态的去中心化演化
  • [人形机器人]宇树G1拆解分析 - 主控部分
  • 建筑毕业设计代做网站建筑网格组织
  • 面向汽车硬件安全模块的后量子安全架构
  • 广州网站制作哪家公司好做视频用的网站有哪些
  • Petalinux高版本自动登录与开机自启动完全指南
  • 用 AI 编码代理重塑前后端交互测试的未来
  • PID算法基础知识
  • TDengine TSDB 3.3.8.0 上线:SMA、TLS、TDgpt、taosX、taosgen 一次全进化
  • Chainlit+LlamaIndex 多模态 RAG 开发实战8:Text2SQL 技术解析与工作流驱动的数据库 RAG 全流程实现
  • 标定参数从相机模组读出来
  • OCR的新高度?PaddleOCR-VL 与 DeepSeek-OCR 的技术与应用横评
  • 上传网站程序网站稿件管理发布系统
  • 展示型网站首页设计解析微信对接网站可以做301跳转吗
  • 前端tree树