1
交换两个变量
以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。
a = 4
b = 5
a,b = b,a
print(a,b)
# 5,4
2
多个变量赋值
a,b,c = 4,5.5,'Hello'
print(a,b,c)
# 4,5.5,hello
你可以使用逗号和变量一次性将多个值分配给变量。使用此技术,你可以一次分配多个数据类型。
你可以使用列表将值分配给变量。下面是将列表中的多个值分配给变量的示例。
a,b,*c = [1,2,3,4,5]
print(a,b,c)
# 1 2 [3,4,5]
3
列表中偶数的和
有很多方法可以做到这一点,但最好和最简单的方法是使用列表索引和sum函数。
a = [1,2,3,4,5,6]
s = sum([num for num in a if num%2 == 0])
print(s)
# 12
返回应用函数后结果有差别的列表元素。
def difference_by(a, b, fn):
b = set(map(fn, b))
return [item for item in a if fn(item) not in b]
from math import floor
difference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2]
difference_by([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], lambda v : v['x'])
# [ { x: 2 } ]
5 链式函数调用
你可以在一行代码内调用多个函数。
def add(a, b):
return a + b
def subtract(a, b):
return a - b
a, b = 4, 5
print((subtract if a > b else add)(a, b)) # 9
6 检查重复项
如下代码将检查两个列表是不是有重复项。
def has_duplicates(lst):
return len(lst) != len(set(lst))
x = [1,2,3,4,5,5]
y = [1,2,3,4,5]
has_duplicates(x) # True
has_duplicates(y) # False