list_a =[1,2020,70]
list_b =[2,4,7,2000]
list_c =[3,70,7]for a in list_a:for b in list_b:for c in list_c:if a + b + c ==2077:print(a, b, c)# 70 2000 7
为了使程序更简洁,我们可以使用 itertools 模块中的"product()"函数来优化代码:
from itertools import product
list_a =[1,2020,70]
list_b =[2,4,7,2000]
list_c =[3,70,7]for a, b, c in product(list_a, list_b, list_c):if a + b + c ==2077:print(a, b, c)# 70 2000 7
几乎所有编程语言都支持字符串格式化语法。但并不是每一种技术都像 Python 的 f 字符串技术一样优雅。
pi =3.1415926print(f'Pi is approximately equal to {pi:.2f}')# Pi is approximately equal to 3.14id=1# need to print a 3-digit numberprint(f"The id is {id:03d}")# The id is 001
N =1000000000# need to add separatorprint(f'His networth is ${N:,d}')# His networth is $1,000,000,000
如上面的程序所示,使用 f 字符串技巧,我们可以应用 Python 变量并在 f 字符串内定义其格式规范。
让 f 字符串技术更加令人惊叹的是我们可以将表达式嵌入到 f 字符串中。嵌入表达式将在运行时评估。
以下示例将借助 f 字符串打印今天的时间:
from datetime import datetime
print(f"Today is {datetime.today()}")# Today is 2021-07-31 18:20:48.956829
9.使用星号来解包可迭代和解构赋值
如何将列表、元组和集合合并到一个列表中?
最优雅的方法是使用星号:
A =[1,2,3]
B =(4,5,6)
C ={7,8,9}
L =[*A,*B,*C]print(L)# [1, 2, 3, 4, 5, 6, 8, 9, 7]