一行代码快速交换两个变量,无需创建临时变量。
from icecream import ic
a = 2
b = 4
a, b = b, a
ic(a, b)
ic| a: 4, b: 2
from icecream import ic
a = 97
if 90 < a < 100:
ic(a)
ic| a: 97
from icecream import ic
lst= [0] * 3
ic(lst)
ic| lst: [0, 0, 0]
from icecream import ic
a = [1, 2]
b = [2, 3]
c = a + b
ic(c)
ic| c: [1, 2, 2, 3]
from icecream import ic
a = [1, 2, 3, 4]
b = a[-2] # 获取倒数第二个元素
ic(b)
ic| b: 3
from icecream import ic
a = [1, 2, 3, 4]
ic(a[::-1])
ic| a[::-1]: [4, 3, 2, 1]
from icecream import ic
a = [1, 2, 3]
b, c, d = a
ic(b, c, d)
ic| b: 1, c: 2, d: 3
在Python中也是有三元表达式的,Python三元表达式是一种可以根据条件来选择不同的值的表达式,它的语法如下:
表达式1 if (布尔)表达式2 else 表达式3
上面的三元表达式中,如果表达式2
为真,则整个三元表达式的结果为表达式1
,否则为表达式3
。它相当于一个简化的if-else语句,但是可以写在一行里。
例如,你可以用三元表达式来找出两个数中的较大数:
from icecream import ic
a = 20
b = 30
Max = a if a > b else b
ic(Max)
ic| 30
通过列表推导式可以快速生成符合条件的列表、集合甚至是字典等可迭代对象,是Python中创建可迭代对象常用的方法,如下:
from icecream import ic
some_list = [1, 2, 3, 4]
another_list = [x + 1 for x in some_list if x % 2 == 0]
d = {x: x % 2 == 0 for x in range(1, 5)}
ic(another_list)
ic(d)
ic| another_list: [3, 5]
ic| d: {1: False, 2: True, 3: False, 4: True}