救命!Python 这些基础操作居然能省一半工作量

作为一个常年和 Python 打交道的 "搬砖人",我发现很多新手甚至老手,都会忽略一些基础但超实用的小技巧。明明一行代码能搞定的事,非要写个循环绕半天,属实是给自己加工作量了。

今天就来分享几个我日常高频使用的 Python 基础操作,简单好记,用起来是真的香!

1. 交换变量?不用临时变量也能行

新手交换两个变量,第一反应可能是定义一个临时变量中转:

python 复制代码
a = 10
b = 20
# 新手写法
temp = a
a = b
b = temp

但 Python 里有更简洁的写法,直接一行搞定,逻辑还清晰:

python 复制代码
a = 10
b = 20
# 简洁写法
a, b = b, a

不仅能交换两个变量,多个变量交换也同样适用,比如a, b, c = c, a, b,直接打乱顺序重新赋值,超方便。

2. 列表去重?别再写循环遍历了

面对一个有重复元素的列表,想快速去重,很多人会写个 for 循环,逐个判断是否在新列表里。

python 复制代码
lst = [1, 2, 2, 3, 4, 4, 5]
new_lst = []
for i in lst:
    if i not in new_lst:
        new_lst.append(i)

但其实用 Python 的集合特性,一行就能去重,效率还更高:

python 复制代码
lst = [1, 2, 2, 3, 4, 4, 5]
new_lst = list(set(lst))

不过要注意,集合是无序的,如果需要保持原列表的顺序,可以用dict.fromkeys(lst),再转成列表就行。

3. 快速拼接字符串?加号不如 join

拼接多个字符串时,用+号虽然直观,但效率很低,尤其是字符串数量多的时候。

python 复制代码
str_list = ["我", "爱", "Python", "编程"]
result = ""
for s in str_list:
    result += s

推荐用join方法,不仅代码简洁,执行效率也提升不少:

python 复制代码
str_list = ["我", "爱", "Python", "编程"]
result = "".join(str_list)

如果想给字符串之间加个分隔符,比如逗号,直接把引号里的内容改成,就行,","join(str_list)就能得到"我,爱,Python,编程"

4. 字典合并?三种方法任你选

日常开发中经常需要合并两个字典,新手可能会用循环逐个添加,其实 Python 有好几种简洁的写法。

python 复制代码
dict1 = {"name": "张三", "age": 20}
dict2 = {"gender": "男", "city": "北京"}

# 方法1:用update方法
dict1.update(dict2)

# 方法2:用**解包
result = {**dict1, **dict2}

# 方法3:Python3.9+ 可用|运算符
result = dict1 | dict2

三种方法都能实现字典合并,需要注意的是,update会修改原字典,而另外两种方法会生成一个新字典,根据需求选择就行。

5. 快速生成列表?列表推导式 yyds

想根据一个列表生成新的列表,比如把所有元素乘以 2,新手可能会写循环:

python 复制代码
lst = [1, 2, 3, 4, 5]
new_lst = []
for i in lst:
    new_lst.append(i * 2)

用列表推导式的话,一行就能搞定,代码更紧凑:

python 复制代码
lst = [1, 2, 3, 4, 5]
new_lst = [i * 2 for i in lst]

还能加上条件判断,比如只生成偶数的倍数:[i * 2 for i in lst if i % 2 == 0],实用性拉满。

相关推荐
AAD555888999 小时前
光伏组件检测与识别基于RPN_X101-FPN模型实现含Python源码_1
开发语言·python
飞Link9 小时前
偏好对齐阶段中的通用模型蒸馏、领域模型蒸馏和模型自我提升
python·数据挖掘
whhzhai9 小时前
装饰器(跨领域调用时增强异常信息)
python
幻云20109 小时前
Python深度学习:从筑基与巅峰
前端·javascript·vue.js·人工智能·python
花间相见9 小时前
【JAVA开发】—— Maven核心用法与实战指南
java·python·maven
ValhallaCoder9 小时前
Day51-图论
数据结构·python·算法·图论
晨非辰9 小时前
Linux文件操作实战:压缩/传输/计算10分钟速成,掌握核心命令组合与Shell内核交互秘籍
linux·运维·服务器·c++·人工智能·python·交互
小镇学者9 小时前
【python】python虚拟环境与pycharmIDE配置
开发语言·python
q_35488851539 小时前
交通数据分析项目:python地铁数据可视化分析系统 Flask框架 爬虫 数据分析 轨道数据 地铁数据分析 大数据 (源码)✅
人工智能·爬虫·python·机器学习·信息可视化·数据分析·flask
幻云201017 小时前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python