Python: Star unpacking expressions in for statements
今天发现在 Python 3.11 版本中一个很不错的新特性,可以在 for 循环中使用 unpacking,这意味着可以更灵活地组合迭代对象。
ls = [1, 2, 34] for i in 1, 2, 3, *ls, 789: print(i) """ 1 2 3 1 2 34 789 """
其实我第一次知道 for 循环中可以使用 x, y, z 这样的结构,想想也是十分合理,因为它代表了元组结构,类似的还有 x, y = y, x
,赋值式的右侧也是一个元组结构。
那么,结合 *ls
这样的解包操作,可以在循环时,迭代对象的前后添加一些额外内容,感觉挺有用的。
在之前只能这样做,看起来并不是非常优雅~:
ls = [1, 2, 3, 4] for i in [0] + ls + [5]: print(i) # or ls = [1, 2, 3, 4] ls = [0, *ls, 5] for i in ls: print(i)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人