✨ 前言
很多新手写Python代码时,习惯堆砌循环、判断语句,代码冗长、可读性差、效率还低。其实Python自带很多极简语法和内置技巧,熟练掌握后,能大幅精简代码、提升运行效率,让代码更优雅、更专业。
今天整理了20个高频实用Python技巧,覆盖数据处理、循环遍历、字符串操作、列表字典优化等日常开发场景,零基础也能轻松看懂,建议收藏常备!
本文所有代码均可直接运行,适配Python3.x版本,日常爬虫、数据分析、后端开发、脚本编写都能用得上。
一、极简数据处理技巧
一行代码交换两个变量
常规写法需要借助中间变量,Python可直接极简交换,是最基础也最常用的技巧:传统写法
a = 1
b = 2
temp = a
a = b
b = temp
Python极简写法
a, b = 1, 2
a, b = b, a
print(a, b) # 输出:2 1
列表快速去重(保留顺序)
普通set去重会打乱原有顺序,Python3.7+字典有序特性,可实现有序去重:
nums = [2, 3, 1, 2, 3, 4, 1]有序去重
new_nums = list(dict.fromkeys(nums))
print(new_nums) # 输出:[2, 3, 1, 4]- 列表/元组快速解包
无需逐个索引取值,高效解包序列数据:
data = ["Python", 3.11, 100]
name, version, score = data
print(name, version, score) # 输出:Python 3.11 100
不定长解包,适配未知长度序列
first, *middle, last = [1, 2, 3, 4, 5]
print(first, middle, last) # 输出:1 [2, 3, 4] 5
一行代码实现列表推导式
替代for循环赋值,精简代码,运行效率更高:常规循环
res = []
for i in range(10):
if i % 2 == 0:res.append(i)
列表推导式极简写法
res = [i for i in range(10) if i % 2 == 0]
print(res) # 输出:[0, 2, 4, 6, 8]
- 字典一键合并
无需循环遍历拼接,快速合并多个字典:
dict1 = {"name": "张三", "age": 20}
dict2 = {"gender": "男", "score": 90}
合并字典,后者覆盖前者重复key
new_dict = {dict1, dict2}
print(new_dict)
二、循环与遍历优化技巧
- enumerate 带索引遍历
告别手动定义index变量,同时获取索引和元素:
fruits = ["苹果", "香蕉", "橙子"]
for idx, item in enumerate(fruits):
print(f"索引{idx}:{item}") - zip 并行遍历多个序列
同时遍历两个/多个列表,一一对应匹配:
names = ["张三", "李四", "王五"]
ages = [20, 22, 19]
for name, age in zip(names, ages):
print(f"{name}:{age}岁")- 反向遍历序列
无需切片反转,原生函数高效反向遍历:
nums = [1, 2, 3, 4, 5]
for i in reversed(nums):
print(i) # 倒序输出5-1 快速判断列表元素是否全部满足条件
all()/any() 替代多层判断,极简校验数据:
nums = [2, 4, 6, 8]all:所有元素满足条件返回True
print(all(i % 2 == 0 for i in nums)) # True
any:任意一个元素满足条件返回True
print(any(i > 5 for i in nums)) # True
三、字符串高效处理技巧
- f-string 格式化字符串
替代%和format,语法更简洁、可读性更强(Python3.6+推荐):
name = "Python"
version = 3.11
msg = f"当前使用{name}版本:{version}"
print(msg) - 字符串列表快速拼接
避免循环拼接字符串(效率极低),用join一键拼接:
str_list = ["Hello", "Python", "World"]
res = " ".join(str_list)
print(res) # 输出:Hello Python World - 字符串首尾空白快速清除
text = " Python 技巧 "
print(text.strip()) # 清除首尾空格
print(text.lstrip()) # 清除左侧空格
print(text.rstrip()) # 清除右侧空格 - 字符串翻转最简写法
text = "123456"
print(text[::-1]) # 输出:654321
四、实用高阶极简技巧
一行代码实现多变量赋值
批量赋值
a, b, c = 10, 20, 30
多变量赋相同值
x = y = z = 0
- 三元表达式简化if判断
简单条件判断,一行代码搞定,替代多行if-else:
age = 18
res = "成年" if age >= 18 else "未成年"
print(res) - 快速获取列表最大/最小索引
nums = [5, 2, 9, 1, 7]
max_idx = nums.index(max(nums))
min_idx = nums.index(min(nums))
print("最大值索引:", max_idx)
print("最小值索引:", min_idx) - 计数器快速统计元素频次
无需手动遍历计数,collections.Counter一键统计:
from collections import Counter
words = ["a", "b", "a", "c", "b", "a"]
count = Counter(words)
print(count) # 输出:Counter({'a': 3, 'b': 2, 'c': 1})
print(count["a"]) # 获取指定元素频次
一键排序复杂数据
sort+lambda实现列表、字典自定义排序:按字典key/value排序
user = [{"name": "张三", "age": 20}, {"name": "李四", "age": 18}]
user.sort(key=lambda x: x["age"])
print(user)上下文管理器自动关闭文件
告别手动close(),自动释放资源,避免文件泄露:极简文件读写
with open("test.txt", "w", encoding="utf-8") as f:
f.write("Python技巧分享")
with open("test.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)- 一行代码实现阶乘运算
借助math库极简实现数学常用运算:
import math
print(math.factorial(5)) # 5! = 120
五、总结
以上20个Python实用技巧,都是日常开发中高频、易上手、提效显著的用法。熟练运用这些语法,能彻底告别“流水账式”代码,让代码更简洁、优雅、高效。
Python的核心优势就是简洁优雅,很多场景下不需要冗余的循环和判断,巧用内置语法和标准库,就能事半功倍。
后续会持续更新Python高阶技巧、爬虫实战、数据分析、避坑指南等干货,欢迎点赞+收藏+关注!
💡 往期推荐
- Python新手必避的10个代码坑
- 零基础快速上手Python列表、字典核心用法
- 超实用Python爬虫极简代码合集
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。