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]
列出输出,我们得到重复的值(3,20,7)如何删除重复的值有没有更简单的方法来解决此问题
首先,不要将名称“列表”用于列表,因为它是关键字。我改用list1。
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]]