如何解决如何制作一组从 [0, 0] 到 [6, 6] 没有重复的子列表
Dominoes = [[0,0],[0,1],2],3],4],5],6],[1,[2,[3,[4,[5,[6,6]]
如何自动执行此过程?
我已经尝试了几个小时的列表理解和 for 循环和 while 循环,但无法弄清楚
- 共有 28 件
- 没有重复,即 [1,2] == [2,1]
解决方法
您可以将内循环起始索引建立在外循环上
dominoes = []
for i in range(7):
for j in range(i,7):
dominoes.append([i,j])
或者使用列表推导式
dominoes = [[i,j] for i in range(7) for j in range(i,7)]
# output: [[0,0],[0,1],2],3],4],5],6],[1,[2,[3,[4,[5,[6,6]]
,
如果您想要一个非重复的数据结构,您可以使用 set(),并且由于您的数据不可修改,请将其存储为元组而不是列表。
为防止重复,您可以添加一个条件,即每个元组必须遵循 (i,j) 格式,其中 i
dominoes = set()
for i in range(7):
for j in range(7):
if i <= j:
dominoes.add((i,j))
print(dominoes)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。