if

s_dict = {"num": 0}
# 判断字典指定键如果存在则返回,如果存在但为0 返回 42,如果不存在也返回 42
s_dict.get("num", 42) if s_dict.get("num", 42) else 42
# 更好的实现
s_dict.get("num") or 42

单行 for 循环

列表推导式

# 语法
[x*2 for x in mylist]

单行 for 循环 + if

[x*2 for x in mylist if x%2 == 1]

字典推导式

mydict = {"foo": 42, "bar": 13}
{key: value * 10 for key, value in mydict.items() if key == "foo"}
# 返回 {'foo': 420}

集合推导式

myset = {1, 2, 4, 8, 42, 42}
{n for n in myset if n > 4}
# 返回: {8, 42}