# coding=utf-8 phone = ['iPhone', 'HuaWei', 'Mi'] number = [1, 2, 3] color = ['白', '黑'] for p in phone: for n in number: for c in color: print(f'{p}{n}{c}', end=' ') # 调用product实现元素组合,替代for循环 import itertools for p, n, c in itertools.product(phone, number, color): print(f'{p}{n}{c}', end=' ') #iPhone1白 iPhone1黑 iPhone2白 iPhone2黑 iPhone3白 iPhone3黑 HuaWei1白 HuaWei1黑 HuaWei2白 HuaWei2黑 HuaWei3白 HuaWei3黑 Mi1白 Mi1黑 Mi2白 Mi2黑 Mi3白 Mi3黑 #iPhone1白 iPhone1黑 iPhone2白 iPhone2黑 iPhone3白 iPhone3黑 HuaWei1白 HuaWei1黑 HuaWei2白 HuaWei2黑 HuaWei3白 HuaWei3黑 Mi1白 Mi1黑 Mi2白 Mi2黑 Mi3白 Mi3黑
以元组的形式,根据输入的可遍历对象生成笛卡尔积,与嵌套的for
循环类似。
repeat
是一个关键字参数,指定重复生成序列的次数
详解Python中的itertools模块 - 知乎 (zhihu.com)
itertools: 完美的python内置库 - 知乎 (zhihu.com)
标签:简洁,iPhone2,iPhone3,多层,iPhone1,HuaWei2,嵌套,Mi1,Mi3 From: https://www.cnblogs.com/daizichuan/p/17504612.html