加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何在列表中检查邻接,然后在python中修复邻接

发布时间:2020-12-16 21:30:03 所属栏目:Python 来源:网络整理
导读:我有这个清单: row = [1,1,0] 我需要随后洗牌或随机化列表: shuffle(row) 然后我需要通过找到任何相邻的1并移动它们,使它们至少相隔一个0.例如,我需要结果看起来像这样: row = [0,0] 我不知道最有效的方法是搜索相邻的1并然后移动它们以使它们不相邻…我
我有这个清单:
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:])))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读