python中的itertools

在量化数据处理中,经常使用itertools来完成数据的各种排列组合以寻找最优参数



import itertools

#1. permutations: 考虑顺序组合元素
items = [1, 2, 3]
for item in itertools.permutations(items):
    print(item)
    
#2. combinations,不考虑顺序,不放回数据
for item in itertools.combinations(items, 2):
    print(item)

#3. combinations_with_replacement,不考虑顺序,有放回数据
for item in itertools.combinations_with_replacement(items, 2):
    print(item)

#4. product()函数,迪卡尔积,在参数组合中寻找最优参数
ab = ['a', 'b']
cd = ['c', 'd']
# 针对ab,cd两个集合进行排列组合
for item in itertools.product(ab, cd):
    print(item)