由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 这个代码PYTHON怎么写?其他语言呢?
相关主题
C++里面如何最方便的表示这个数组的数组?问一个关于matlab的
谁能说说Perl, Python, Tcl各自的优缺点?主要应用场合?请教一个算法问题 (转载)
花了一个小时学习了python如何在数组中存无限量的元素?比较复杂
[合集] 我也花了一小时读了一下python[合集] 有一个数组元素在数组中出现了>N/2次,请找出此元素。
Ruby and Python请教一个组合的算法
怎么这里这么多人学python请问一个查找算法。
python 超级难题求救求教元素个数
现在Scala又火了?STL 一问
相关话题的讨论汇总
话题: itertools话题: import话题: paradict话题: python话题: prodtuples
进入Programming版参与讨论
1 (共1页)
y***a
发帖数: 840
1
需求:
有N个int数组 (N未知), 每个数组里的元素数目也未知, 但大于0, 要求每个
数组里取一个元素,组成一个N个元素的multiset (就是允许元素重复出现), 要求列
举所有的multiset.

主要问题是N不知,所以只能用递归/FUNCTIONAL PROGRAMMING比较容易。用
PYTHON的
ITERTOOLS能搞定吗? 就你熟悉的语言写出最简单的程序是什么样子的? 欢迎赐教。
d******e
发帖数: 2265
2
考试嘛?上一段real code
def parameterprod(paradict):
keys = tuple(paradict.keys())
itemlist = []
for k in paradict.keys():
if isinstance(paradict[k], list):
itemlist.append( paradict[k])
else:
l = []
l.append(paradict[k])
itemlist.append(l)
prodtuples = list(itertools.product(*itemlist))
pdict = []
for l in prodtuples:
pdict.append(dict(zip(keys,l)))
return pdict
y***a
发帖数: 840
3
不是考试, PYTHON不精
谢谢product提示

【在 d******e 的大作中提到】
: 考试嘛?上一段real code
: def parameterprod(paradict):
: keys = tuple(paradict.keys())
: itemlist = []
: for k in paradict.keys():
: if isinstance(paradict[k], list):
: itemlist.append( paradict[k])
: else:
: l = []
: l.append(paradict[k])

N******K
发帖数: 10202
4
for 循环不就行了

【在 y***a 的大作中提到】
: 需求:
: 有N个int数组 (N未知), 每个数组里的元素数目也未知, 但大于0, 要求每个
: 数组里取一个元素,组成一个N个元素的multiset (就是允许元素重复出现), 要求列
: 举所有的multiset.
:
: 主要问题是N不知,所以只能用递归/FUNCTIONAL PROGRAMMING比较容易。用
: PYTHON的
: ITERTOOLS能搞定吗? 就你熟悉的语言写出最简单的程序是什么样子的? 欢迎赐教。

x******a
发帖数: 6336
w****i
发帖数: 964
6
>>> import itertools
>>> d = [[1, 2, 3], [4, 5, 6, 7], [8, 9]]
>>> [x for x in itertools.product(*d)]
[(1, 4, 8), (1, 4, 9), (1, 5, 8), (1, 5, 9), (1, 6, 8), (1, 6, 9), (1, 7, 8)
, (1, 7, 9), (2, 4, 8), (2, 4, 9), (2, 5, 8), (2, 5, 9), (2, 6, 8), (2, 6, 9
), (2, 7, 8), (2, 7, 9), (3, 4, 8), (3, 4, 9), (3, 5, 8), (3, 5, 9), (3, 6,
8), (3, 6, 9), (3, 7, 8), (3, 7, 9)]

【在 y***a 的大作中提到】
: 需求:
: 有N个int数组 (N未知), 每个数组里的元素数目也未知, 但大于0, 要求每个
: 数组里取一个元素,组成一个N个元素的multiset (就是允许元素重复出现), 要求列
: 举所有的multiset.
:
: 主要问题是N不知,所以只能用递归/FUNCTIONAL PROGRAMMING比较容易。用
: PYTHON的
: ITERTOOLS能搞定吗? 就你熟悉的语言写出最简单的程序是什么样子的? 欢迎赐教。

y***a
发帖数: 840
7
这个也是上面提示的。 多谢。

8)
9
,

【在 w****i 的大作中提到】
: >>> import itertools
: >>> d = [[1, 2, 3], [4, 5, 6, 7], [8, 9]]
: >>> [x for x in itertools.product(*d)]
: [(1, 4, 8), (1, 4, 9), (1, 5, 8), (1, 5, 9), (1, 6, 8), (1, 6, 9), (1, 7, 8)
: , (1, 7, 9), (2, 4, 8), (2, 4, 9), (2, 5, 8), (2, 5, 9), (2, 6, 8), (2, 6, 9
: ), (2, 7, 8), (2, 7, 9), (3, 4, 8), (3, 4, 9), (3, 5, 8), (3, 5, 9), (3, 6,
: 8), (3, 6, 9), (3, 7, 8), (3, 7, 9)]

1 (共1页)
进入Programming版参与讨论
相关主题
STL 一问Ruby and Python
[合集] C语言bit操作问题,急!怎么这里这么多人学python
请教一个算法问题 (转载)python 超级难题求救
一年多前我发了几个贴子关于FP的想法现在Scala又火了?
C++里面如何最方便的表示这个数组的数组?问一个关于matlab的
谁能说说Perl, Python, Tcl各自的优缺点?主要应用场合?请教一个算法问题 (转载)
花了一个小时学习了python如何在数组中存无限量的元素?比较复杂
[合集] 我也花了一小时读了一下python[合集] 有一个数组元素在数组中出现了>N/2次,请找出此元素。
相关话题的讨论汇总
话题: itertools话题: import话题: paradict话题: python话题: prodtuples