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

Python初学者项目练习28--移除列表中的多个元素

一、练习题目定义一个函数该函数用于从第一个列表list1中移除所有存在于第二个列表list2中的元素二、代码1.初始版本代码如下defremove_number(list1,list2):fori inrange(list1):forj inrange(list2):ifij:list1.remove(j)returnlist1 list1[1,2,5,8,10,8,45,78,99,123,56]list2[3,6,8,10,78,56]print(remove_number(list1,list2))TypeError: ‘list’ object cannot be interpreted as an integer问题range()里传了列表range()需要的是整数比如 range(10)而不是 [1, 10]2.优化版本代码如下defremove_number(list1,list2):fori in list2:ifi in list1:list1.remove(i)returnlist1 list1[1,2,5,8,10,8,45,78,99,123,56]list2[3,6,8,10,78,56]print(f从列表{list1}中移除元素{list2}的结果为{remove_number(list1, list2)})输出从列表[1, 2, 5, 8, 10, 8, 45, 78, 99, 123, 56]中移除元素[3, 6, 8, 10, 78, 56]的结果为[1, 2, 5, 8, 45, 99, 123]问题 list1里面有2个重复元素和list2相同但是remove只删除了第一个相同的元素3.优化版本代码如下# 列表表达式 defremove_number(list1,list2):return[ifori in list1ifi not in list2]list1[1,2,5,8,10,8,45,78,99,123,56]list2[3,6,8,10,78,56]print(f从列表{list1}中移除元素{list2}的结果为{remove_number(list1, list2)})采用列表表达式输出从列表[1, 2, 5, 8, 10, 8, 45, 78, 99, 123, 56]中移除元素[3, 6, 8, 10, 78, 56]的结果为[1, 2, 5, 45, 99, 123]总结for i in range(起始终止步长)for i in list1for i in range(len(list1))列表表达式[输出表达式 for 变量 in 可迭代对象 if 条件][i for i in list1 if i not in list2]例如result []for i in range(5):result.append(i * 2)换成列表表达式result [i * 2 for i in range(5)]列表常用函数操作列表常用方法操作4.1 增加4.2 删除4.3 统计查找4.4 改序对比函数与方法✅ 函数len / max / min / sum / sorted / list / enumerate / zip​✅ 方法append / extend / insert / remove / pop / clear / index / count / sort / reverse
http://www.gsyq.cn/news/1330662.html

相关文章:

  • 变压器原理
  • 如何在5分钟内实现微信聊天记录的本地化完整备份与隐私保护
  • ComfyUI企业级AI工作流自动化:突破内容生产效率瓶颈的模块化视觉引擎
  • 2026南昌平价自助火锅技术解析:高性价比门店实测指南 - 资讯焦点
  • Tokenizer分词越界引发LLM幻觉加剧?DeepSeek-v2 tokenizer.py第187行边界条件Bug的二进制级修复与AB测试数据对比
  • 2026高人气补水喷雾实测推荐:长效锁水不黏腻,全肤质适配 - 资讯焦点
  • Midjourney团队功能上线前最后48小时:3类用户必须立即配置的5项合规设置(附官方未公开的migration checklist)
  • 静态存储加密:保护存储数据的安全性
  • IsaacLab学习笔记
  • 2026年5月河北聚氨酯保温钢管/钢套钢保温钢管/3PE防腐钢管/带颈对焊法兰厂家解析,认准河北浦鑫管道集团有限公司 - 2026年企业推荐榜
  • 鸿蒙 PC 命令行工具迁移实战 · 四种命令行移植方案详解及对比
  • 保姆级教程:在IMX6ULL上从零手写一个LCD驱动(基于设备树与Framebuffer框架)
  • 小白也能一步到位:Claude Code Windows环境搭建+88api接口配置实操教程
  • Arduino与树莓派协同开发:通信协议、实战项目与物联网应用
  • 别再折腾了!Windows 11下TeX Live 2024 + VS Code配置LaTeX环境保姆级教程
  • 免费开源游戏串流方案Sunshine:5分钟打造家庭游戏共享中心
  • iOS种子下载终极指南:iTorrent让你的iPhone变身专业下载中心
  • 别再手动算稳心了!用Maxsurf Stability模块,从Rhino模型到结果曲线保姆级教程
  • 从《魔兽世界》到你的项目:深入拆解Recast导航网格生成与优化的全流程
  • 医疗相关 Agent 工具会先卷工程能力,不会先卷模型参数
  • 别再熬夜改论文!Paperxie 这套本科毕业论文 AI 流程,把我从毕业焦虑里捞了出来
  • 百度网盘Mac版终极提速指南:免费解锁SVIP高速下载
  • 阿里云盘命令行客户端终极指南:如何高效管理你的云存储
  • 终极免费AI自瞄助手:基于YOLOv8/YOLOv10的FPS游戏智能瞄准系统完整指南
  • CXPatcher技术解析:如何通过DXVK和MoltenVK优化实现macOS上的高性能CrossOver架构设计
  • 揭秘OBS智能跟拍:5分钟掌握直播自动对焦革命性技巧
  • XInputTest:你的游戏手柄真的“听话“吗?揭秘控制器性能检测神器
  • 2026年白色冰箱怎么选?大白405成性价比首选,入手不亏! - 速递信息
  • 云原生安全扫描:保护容器化应用的安全
  • 如何快速掌握MulimgViewer:面向初学者的5个核心技巧与完整使用指南