今天发现在 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)
标签:statements,Python,ls,print,expressions,unpacking
From: https://www.cnblogs.com/zkmjolnir/p/18039322