- 使用List推导式实现更清晰的代码
Python 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> s=[x**3 for x in range(10)]
>>> s
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]
更具可读性,比传统循环更快。
- 不需要临时变量交换变量值
>>> a,b=8,9
>>> a,b=b,a
>>> print(a,b)
9 8
- 使用**合并词典
>>> a={'x':1}
>>> b={'y':2}
>>> c={**a,**b}
>>> c
{'x': 1, 'y': 2}
毫不费力地将多个词典合并为一行。
- 使用_获取最后一个输出值
>>> 8+9
17
>>> _**2
289
使用python终端或ipython时可以提高效率。
- 一行代码实现判断赋值
>>> a=12
>>> s='up' if a>=8 else 'down'
>>> s
'up'
较短的条件赋值使代码更加优雅。
- 分解lists和tuples
>>> a,b,*c=[1,2,3,4,5,6]
>>> a
1
>>> b
2
>>> c
[3, 4, 5, 6]
获取前几个值并打包剩余值,非常适合灵活的任务。
- 使用enumerate() 替代手动跟踪索引
>>> for i,v in enumerate(['a','b','c','d']):
... print(i,v)
...
0 a
1 b
2 c
3 d
这比for i in range(len(..))
更python,嘎嘎!
- 利用 zip()进行并行处理
>>> ns=['alair','toby']
>>> ags=[84,73]
>>> for n,a in zip(ns,ags):
... print(f"{n}:{a}")
...
alair:84
toby:73