row = [1,1,0]
我需要随后洗牌或随机化列表:
shuffle(row)
然后我需要通过找到任何相邻的1并移动它们,使它们至少相隔一个0.例如,我需要结果看起来像这样:
row = [0,0]
我不知道最有效的方法是搜索相邻的1并然后移动它们以使它们不相邻…我将反复这样做以提出这一行的多个组合.
最初当列表更短时我就是这样做的:
row = [1,0]rowList = set(List(permutations(row)))rowschemes = [(0,0) + x for x in rowList if '1,1' not in str(x)]
但是现在我的行是20个元素,这需要永远想出所有可能的排列.
有没有一种有效的方法可以解决这个问题?
解决方法 为什么不直接去找你想要的?就像是:row = ["0","0","01","01"]random.shuffle(row)print (map(int,List("".join(row)[1:])))总结
以上是内存溢出为你收集整理的如何在列表中检查邻接,然后在python中修复邻接全部内容,希望文章能够帮你解决如何在列表中检查邻接,然后在python中修复邻接所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)