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

Python初学者项目练习9--对简单列表元素排序

一、练习题目

给定一个简单列表,对其元素进行排序

简单列表:元素类型不是复合类型(列表/元组/字典)
示例:
形式1:[10,20,30,40]
形式2:[‘aa’, ‘bb’, ‘cc’]

二、代码

1.初始版本–升序

代码如下:

list1=[10,5,3,78]# 对列表进行排序(原地排序)#sort(key=None,reverse=False)默认#key(可选):接收一个函数作为参数。该函数会在每个元素上调用,其返回值将作为排序的依据。如果未提供,则直接比较元素本身。#reverse(可选):接收一个布尔值。如果为True,则列表将降序排列。如果为False,则列表将升序排列。list1.sort()print(list1)

[3, 5, 10, 78]
原地排序,升序

2.其他版本

代码如下:

list1=[10,5,3,78]list1.sort(reverse=True)print(list1)

[78, 10, 5, 3]
原地排序,降序

3.其他版本

代码如下:

list1=[10,5,3,78]# 对列表排序,但是不改变原列表顺序#sorted(iterable,key=None,reverse=False)#iterable:想要排序的可迭代对象#key(可选):接收一个函数作为参数。这个函数会在每个元素上调用,其返回值作为排序的依据。#reverse(可选):接收一个布尔值。如果为True,则是降序排列。如果为False,则是升序排列#list2=sorted(list1)#print(list2)#print(list1)

[3, 5, 10, 78]
[10, 5, 3, 78]


总结

  1. 原地排序:
    sort(key=None, reverse=False) #默认,升序
    sort(key=None, reverse=True) #降序
  2. 不改变原列表顺序:
    sorted(iterable, key=None, reverse=False)
  3. 为什么有的是X.sort, 为什么有的是 sorted(X)。为什么sorted使用方法不是
    X.sorted
    记住:
    ✅ .方法():通常是“某一种对象自己才会做的事”​
    ✅ 函数():通常是“多种对象都能做的事
  4. 下面的表格对常用的【独立函数和方法】做了总结:
http://www.jsqmd.com/news/767812/

相关文章:

  • 解决ZYNQ裸机网络扩展难题:为LWIP库添加自定义PHY驱动与SDK配置界面
  • Windows系统光标深度替换:INF方案实现macOS指针移植与优化
  • AI编码助手统一配置工具agent-dotfiles:告别重复配置,实现规则与技能一键同步
  • BrowserClaw:基于Puppeteer与Playwright的浏览器自动化与数据抓取实践
  • AI工具搭建自动化视频生成图像缩放
  • ChatGPT文档格式化指令:打造Google Docs无缝协作的AI写作规范
  • GRADFILTERING:基于梯度信噪比的指令调优数据筛选方法
  • 别再死记硬背async/await了!用Playwright+Python写自动化脚本,这3个坑我帮你踩过了
  • 千问 LeetCode 2127.参加会议的最多员工数 public int maximumInvitations(int[] favorite)
  • 解释器模式是行为型设计模式的一种,其核心思想是给定一个语言,定义它的文法的一种表示
  • STM32G431RBT6的HAL库避坑指南:蓝桥杯嵌入式那些CubeMX没告诉你的细节
  • 构建本地化音视频转录分析平台:Whisper+Ollama+Meilisearch实战
  • SolidGPT实战指南:基于语义搜索的代码与文档智能问答系统
  • 避坑指南:SAP固定资产配置里,记账码70和31千万别乱选!附SPRO完整路径
  • 想在Win10任务栏显示秒数?试试用StartAllBack配合注册表修改(附详细步骤)
  • 【Redis】Redis——过期键删除策略、内存淘汰8种策略、LRU/LFU实现
  • 秒级推演赋能复杂场景,镜像视界夯实工业数字根基
  • SpringBoot + Thymeleaf 实战:手把手教你从零搭建一个婚纱租赁网站(附完整源码)
  • PageIndex:基于RAG的网页智能知识库构建实战指南
  • HoRain云--超全PHP安装指南:Linux/Windows/macOS全攻略
  • MQTTX与AI助手实时交互:基于MCP与SSE的物联网协议桥接实践
  • 基于Dev Containers的标准化开发环境构建与实战指南
  • STM32定时器OPM单脉冲模式实战:从驱动蜂鸣器到生成精准PWM脉冲(以TIM4为例)
  • synchronized内存布局图(bit 精确位置)
  • Promptr:用自然语言指令自动化重构代码的AI工具实践指南
  • 在github上快速部署taotoken的python调用示例
  • 千问 LeetCode 2127.参加会议的最多员工数 Python3实现
  • AI智能体全栈开发框架解析:从核心架构到生产部署
  • 免费实时提升动漫画质:Anime4K超分辨率技术完整指南
  • 车载Docker轻量化不是删RUN指令!(嵌入式Linux内核模块按需加载+initramfs动态注入技术详解)