我有 REST API,可以接收我排序的任意数据并将其转换为列表列表,例如
attributes = [ ['nike', 'adidas', 'salmon'], ['38'], ['blue', 'grey'] ]
我想要的是创建新的列表列表,子列表中的每个元素与其他元素唯一映射,例如:
paths = [ ['nike', '38', 'blue'],
['nike', '38', 'grey'],
['adidas', '38', 'blue'],
['adidas', '38', 'grey'],
['salmon', '38', 'blue'],
['salmon', '38', 'grey'] ]
我感谢您的回答和建议,以最有效的方式实现这一目标。
正如评论所建议的,您可以使用 itertools lib 中的 product 函数。
>>> from itertools import product
>>> attributes = [ ['nike', 'adidas', 'salmon'], ['38'], ['blue', 'grey'] ]
>>> product(*attributes)
<itertools.product object at 0x7fba3ca3a080>
>>> set(product(*attributes))
{('adidas', '38', 'grey'), ('salmon', '38', 'grey'), ('nike', '38', 'blue'), ('adidas', '38', 'blue'), ('salmon', '38', 'blue'), ('nike', '38', 'grey')}