Python 如何删除重复值?例如,如果我有5+10=15,那么我不想打印10+5=15
我得到了输出:Python 如何删除重复值?例如,如果我有5+10=15,那么我不想打印10+5=15,python,Python,我得到了输出: arr1 = [x for x in range (1,100) if all(x%y!=0 for y in range (2,x))] arr2 = arr1 arr3 = [x for x in range (1,100) if x%2==0] for i in arr3: for j in arr1: for k in arr2: if (j+k==i) and (j!=k):
arr1 = [x for x in range (1,100) if all(x%y!=0 for y in range (2,x))]
arr2 = arr1
arr3 = [x for x in range (1,100) if x%2==0]
for i in arr3:
for j in arr1:
for k in arr2:
if (j+k==i) and (j!=k):
print (j,"+",k,"=",i)
但我不想要下面的部分,因为这只是重复j和
k位置更改。只需打印前7个
11 + 73 = 84
13 + 71 = 84
17 + 67 = 84
23 + 61 = 84
31 + 53 = 84
37 + 47 = 84
41 + 43 = 84
43 + 41 = 84
47 + 37 = 84
53 + 31 = 84
61 + 23 = 84
67 + 17 = 84
71 + 13 = 84
73 + 11 = 84
对于所有其他偶数也是如此。
哥德巴赫猜想——每个偶数都可以表示为两个数的和
素数。在那里,可能会将结果存储在一个列表中,并检查它是否已经打印出来
43 + 41 = 84
47 + 37 = 84
53 + 31 = 84
61 + 23 = 84
67 + 17 = 84
71 + 13 = 84
73 + 11 = 84
而不是arr2=arr1
应该做到这一点,一个简单的改变可能是:
arr2 = arr1[:len(arr1) // 2)]
您可以使用另一个子句,即j将元组k,j中j,k的倒序添加到一个集合中,然后在打印之前检查j,k是否不在下一次出现的集合中。TypeError:切片索引必须是整数或无,或者具有_索引_u方法
arr2 = arr1[:len(arr1) // 2)]
arr1 = [x for x in range (1,100) if all(x%y!=0 for y in range (2,x))]
arr2 = arr1
arr3 = [x for x in range (1,100) if x%2==0]
for i in arr3:
for j in arr1:
for k in arr2:
if (j+k==i) and (j<k): # change made here
print (j,"+",k,"=",i)
arr1 = [x for x in range (1,100) if all(x%y!=0 for y in range (2,x))]
arr3 = [x for x in range (1,100) if x%2==0]
for i in arr3:
for j in arr1:
for k in arr1: # looking in the same array as j
if (j+k==i) and (j<k):
print (j,"+",k,"=",i)