python字典值的itertools产品
Posted
技术标签:
【中文标题】python字典值的itertools产品【英文标题】:itertools product of python dictionary values 【发布时间】:2016-11-29 15:46:48 【问题描述】:我有一个 Python 字典,其中字符串作为键,numpy 数组作为值:
dictionary = 'first': np.array([1, 2]), 'second': np.array([3, 4])
现在我想使用itertools
product
创建以下列表:
requested = [(1, 3), (1, 4), (2, 3), (2, 4)]
当传递给 product
的项目是 numpy 数组时,通常会这样做。
当我执行以下操作时:
list(product(list(dictionary.values())))
我得到以下输出:
[(array([3, 4]),), (array([1, 2]),)]
【问题讨论】:
解压字典值:list(product(*dictionary.values()))
解决了,谢谢!
【参考方案1】:
itertools.product() 函数希望将参数解压缩到单独的参数中,而不是保存在单个映射视图中。使用*
operator 进行解包:
>>> import numpy as np
>>> from itertools import product
>>> dictionary = 'first': np.array([1, 2]), 'second': np.array([3, 4])
>>> list(product(*dictionary.values()))
[(1, 3), (1, 4), (2, 3), (2, 4)]
【讨论】:
以上是关于python字典值的itertools产品的主要内容,如果未能解决你的问题,请参考以下文章
Python中的字典分组函数(groupby,itertools)