python的一些内置方法

1.使用collections.Counter()实现频次统计

用法:Counter(可迭代对象),返回一个特殊的字典类型对象

Counter返回的字典支持加法减法,交集,并集等运算

from collections import Counter

a = ['张三', '张三', '张三', '李四', '李四', '王五']

b = Counter(a)

print(b)

# Counter({'张三': 3, '李四': 2, '王五': 1})
计算两个列表中,人名一共出现了几次
a = ['张三', '张三', '张三', '李四', '李四', '王五']
b = ['张三', '张三', '张三', '张三', '张三', '李四', '李四', '李四', '王五']

c1 = Counter(a)
c2 = Counter(b)

print(c1 + c2)

# Counter({'张三': 8, '李四': 5, '王五': 2})

2.使用itertools.chain直接将二维列表合并成一维列表

chain函数返回的并不是列表,而是Chain类型的可迭代对象
a = [1, 3, 5]
b = [2, 4, 6]
c = [3, 6, 9]

from itertools import chain

d = list(chain(a, b, c))

print(d)  # [1, 3, 5, 2, 4, 6, 3, 6, 9]

a = [[1, 5], [3, 5], [2, 1, 3]]

d = list(chain(*a))

//  这里重点是*a ,相当于解包,把a变成三个一维列表

print(d) # [1, 5, 3, 5, 2, 1, 3]

3.深拷贝与浅拷贝

截屏2024-01-18 11.38.27.png