Python中,os.listdir排序乱序,使用lambad expression解决

本文介绍了一种使用Python对文件名中包含的数字进行排序的方法。通过lambda表达式和sort函数,可以有效地对目录下的文件按数字顺序排列,适用于批量文件管理场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<think>我们正在为Python语言程序设计入门及基础语法提供详细总结。根据用户要求,我们将涵盖输入输出、变量、数据类型、控制结构、函数、面向对象等基础内容,并参考提供的引用材料。 注意:引用材料中提到了输入输出函数(引用[1]和[2])、类方法中的self(引用[3])等,我们将这些内容整合到总结中。 结构安排: 1. 输入输出 2. 变量与数据类型 3. 运算符 4. 控制结构(条件、循环) 5. 函数 6. 面向对象编程(类与对象) 7. 异常处理 8. 模块与包 由于用户要求详细总结,我们将对每个部分进行简要说明并给出示例。 注意:在类的方法中,必须带有self参数(引用[3]),我们会在面向对象部分强调。 开始编写:</think>### Python语言程序设计入门及基础语法详细总结 --- #### 一、基础语法结构 1. **输入/输出函数** ```python # 输入(两种写法) name = input("请告诉我你是谁?") # 写法2[^2] print(f"我知道了,你是{name}") # f-string格式化输出 # 输出多类型数据 print("整数:", 42, "浮点数:", 3.14, "列表:", [1, 2]) ``` 2. **变量与数据类型** | 类型 | 示例 | 特性 | |------------|-----------------------|--------------------------| | 整型 | `age = 20` | 支持大整数运算 | | 浮点型 | `pi = 3.14159` | 双精度浮点数 | | 字符串 | `s = "Python"` | 支持切片 `s[1:3] → "yt"` | | 布尔型 | `is_valid = True` | 首字母大写 | | 列表 | `nums = [1, 2, 3]` | 可修改,有序 | | 元组 | `point = (3, 5)` | 不可修改 | | 字典 | `user = {"name": "Alice"}` | 键值对存储 | --- #### 二、程序控制结构 1. **条件分支** ```python score = 85 if score >= 90: print("优秀") elif score >= 60: print("及格") # 输出:及格 else: print("不及格") ``` 2. **循环结构** ```python # for循环遍历 for i in range(3): # 输出:0 1 2 print(i) # while循环 count = 0 while count < 2: # 输出:Hello ×2 print("Hello") count += 1 # 列表推导式 squares = [x**2 for x in range(5)] # → [0, 1, 4, 9, 16] ``` --- #### 三、函数与模块化 1. **函数定义** ```python def add(a, b=1): # 带默认参数的函数 return a + b print(add(3)) # → 4 ``` 2. **Lambda表达式** ```python double = lambda x: x * 2 print(double(4)) # → 8 ``` 3. **模块导入** ```python import math print(math.sqrt(16)) # → 4.0 from datetime import date print(date.today()) # → 2023-08-20 ``` --- #### 四、面向对象编程 1. **类与对象** ```python class Student: # 构造方法 def __init__(self, name): self.name = name # self指代实例对象[^3] # 成员方法 def study(self): print(f"{self.name}正在学习") # 创建对象 s = Student("Alice") s.study() # 输出:Alice正在学习 ``` 2. **继承与多态** ```python class CollegeStudent(Student): def research(self): print(f"{self.name}在做科研") cs = CollegeStudent("Bob") cs.research() # 输出:Bob在做科研 ``` --- #### 五、异常处理 ```python try: num = int(input("输入数字: ")) except ValueError: print("输入无效数字!") else: print(f"平方: {num**2}") finally: print("执行结束") ``` --- #### 六、文件操作 ```python # 写入文件 with open("data.txt", "w") as f: f.write("Hello Python") # 读取文件 with open("data.txt", "r") as f: content = f.read() # → "Hello Python" ``` --- #### 七、常用标准库 | 模块 | 用途 | 示例 | |--------------|-----------------------|--------------------------| | `os` | 操作系统交互 | `os.listdir('.')` | | `sys` | 系统参数操作 | `sys.argv` | | `re` | 正则表达式 | `re.findall(r'\d+', s)` | | `json` | JSON数据处理 | `json.dumps(dict)` | | `collections`| 高级数据结构 | `deque`, `Counter` | --- > **核心公式**: > 列表推导式: > $$ \text{new_list} = [\text{expression} \ \text{for} \ \text{item} \ \text{in} \ \text{iterable} \ \text{if} \ \text{condition}] $$ > 函数递归: > $$ \text{factorial}(n) = \begin{cases} 1 & n=0 \\ n \times \text{factorial}(n-1) & n>0 \end{cases} $$ ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值