python-3.x - 求和之谜看到重复值
问题描述
- 列出我们得到重复值的输出 (3,20,7)
- 如何删除重复的值?
- 有没有更简单的方法来解决这个问题?
def riddle(x):
list=[]
i=0
for i in range(0,len(x)):
for j in range(i,len(x)):
for k in range(j,len(x)):
if ((x[i]+x[j]+x[k]) ==30) and x[i]!=x[j]!=x[k]:
list.append((x[i],x[j],x[k]))
i = i+1
j= j+1
k = k+1
return(list)
print(riddle(x))
x= [2,3,5,8,6,89,20,15,7]
解决方案
def riddle(x):
ls = []
for i in range(len(x)):
for j in range(i+1,len(x)):
for k in range(j+1,len(x)):
u = x[i]+x[j]+x[k]
if u==30:
ls.append([x[i],x[j],x[k]])
return ls
x = [2,3,5,8,6,89,20,15,7]
riddle(x)
Out[58]: [[2, 8, 20], [3, 20, 7], [8, 15, 7]]
推荐阅读
- java - 在java spring中从项目外部注入依赖项
- java - Java 泛型:根据类型将对象数组转换为原始数组
- terraform - GKE w/ Terraform - 设置 autoscaling_profile
- unity3d - Unity Navmesh 代理被阻止
- r - 给定 R 中的值,是否有 R 函数来查找置信区间?
- primefaces - 切换到 Primefaces 8.0 的 ROMA 布局效果
- vba - 如果刚刚启动,VBA GetObject 不会返回对 Outlook 运行实例的引用
- java - 比较器。如何按年龄排序,但如果名称为“A”,则将其移至列表末尾?
- replace - Microsoft Word:使用通配符查找和替换
- python - 强制 CNN 过滤器查看非相邻数据组合