第 6 行实际上做了啥来检查排列是不是已经显示?
Posted
技术标签:
【中文标题】第 6 行实际上做了啥来检查排列是不是已经显示?【英文标题】:What does line 6 actually does do to check if a permuation is already displayed?第 6 行实际上做了什么来检查排列是否已经显示? 【发布时间】:2020-06-17 09:57:27 【问题描述】:''' 我知道 if 语句中的第二个条件是在输入有重复元素的情况下检查已经进行的排列。但是到底是怎么做的! '''
def permutation(input_list, partial, used):
if len(partial) == len(input_list):
print(partial)
else:
for i in range(0, len(input_list)):
if not used[i] and not (input_list[i] == input_list[i - 1] and not used[i - 1]):
used[i] = True
partial.append(input_list[i])
permutation(input_list, partial, used)
used[i] = False
partial.pop(len(partial) - 1)
nums = [2,1,2,5]
used = [False for _ in range(0, len(nums))]
permutation(nums, [], used)
【问题讨论】:
【参考方案1】:语句,not used[i]
在所有情况下都返回False
,除非used[i]
为0。input_list[i] == input_list[i - 1] and not used[i - 1]
检查input_list[i] == input_list[i - 1]
是否在used[i -1]
为0 时。最后的not
否定它.
【讨论】:
以上是关于第 6 行实际上做了啥来检查排列是不是已经显示?的主要内容,如果未能解决你的问题,请参考以下文章
我的 Prefab 上的 Canvas Environment 在 Unity 检查器中显示为灰色,我做了啥?