【发布时间】:2010-07-05 05:48:39
【问题描述】:
我正在寻找 C 或 Python 代码来实现这两个伪代码函数中的任何一个:
function 1:
list1 = [0,1,2] #any list of single-integer elements
list2 = [0,3,4]
list3 = [0,2,4]
function1(list1, list2, list3)
>>> (0,3,2),(0,3,4),(0,4,2),(1,0,2),(1,0,4),(1,3,0),(1,3,2),(1,3,4),
(1,4,0),(1,4,2),(2,0,4),(2,3,0),(2,3,4),(2,4,0)
基本上,它生成所有有效的排列,定义为 a) 每个列表中有一个元素,b) 没有具有相同值的元素。
function 2:
list1 = [(0,1),(0,2),(0,3)] #any list of double-integer tuples
list2 = [(0,4),(1,4),(2,4)]
function2(list1, list2)
>>> ((0,1),(2,4)) , ((0,2),(1,4)) , ((0,3),(1,4)) , ((0,3),(2,4))
函数 2 生成具有每个列表的一个元组且每个元组中没有重复元素的任何排列。
我查看了 Python itertools 帮助,但找不到任何复制这些伪函数的内容。有什么想法吗?
谢谢,
迈克
【问题讨论】:
-
你希望我们做你的功课吗?
-
32 岁,妻子和孩子...不。希望你能帮我写一个 Jenny Craig 菜单程序。功能 1 = 在膳食水平上处理膳食(例如 0 = “沙拉”)。 function2 = 在成分级别处理膳食(例如 0,1 = "carrots","lettuce")。
标签: python c permutation combinatorics