我有一个元素范围从0到3的列表。我想创建一个列表模式,这样如果有0,我就不会改变任何值,如果有1,我就改变0和1之间的值。如果有一个2,我改变它的值从0,1和2。这听起来可能令人困惑,但简而言之,我想生成这样一个模式:
input_list = [0, 0, 0, 0]
output = [0, 0, 0, 0] # Since input only has 0s we do not permute their values.
input_list = [1,0,0,0]
output = [0,0,0,0], [1,0,0,0] # We can permute the values of the 1 present.
input_list = [1,0,0,1]
output = [0,0,0,0], [1,0,0,0], [0,0,0,1], [1,0,0,1]
在列表包含2的情况下,我们将其值从0-1-2排列
input_list = [2,0,0,0]
output = [0,0,0,0], [1,0,0,0], [2,0,0,0]
input_list = [1,0,0,2]
output = [0,0,0,0], [1,0,0,0], [0,0,0,1], [1,0,0,1], [0,0,0,2], [1,0,0,2]
如果列表中存在3,则显示类似的输出。你知道吗
我有点不确定该如何处理这个问题。任何帮助都会很好。你知道吗
另外,这不是家庭作业问题。我只是在一个研究项目的工作,需要一些模拟类似的模式。复杂性不是一个问题,而是一个低复杂性的解决方案。:D个
输出:
下面是一个可能的解决方案:
解决方案未优化。在大名单上运行可能需要一段时间。如有任何改进或建议,我们将不胜感激。你知道吗
相关问题 更多 >
编程相关推荐