我試着從最大的一個開始得到l2中的數字,並且它們中的每一對都應該大於或等於2.這種情況只適用於l1具有多於一個元素的情況。因此,對於l2 = [2,1,8,3,6,4],由於4-3 < 2期望輸出爲l1 = [8,6,4] 2第四大3不會被採用。這裏是我的代碼For循環只能處理兩個步驟
l2=[2,1,8,3,6,4]
l1=[]
def check():
i = max(l2)
l2.remove(i)
if len(l1)>1:
for number in l1:
if (abs(number - i)) < int(2):
break;
else:
l1.append(i)
check()
但輸出爲[8,6]。可誰能告訴我如何糾正?
我不明白你的要求對此語句。 –
'lst'定義在哪裏? –
對不起,也許還不清楚。首先把l2中的最大數a加到l1中,然後在l2 b中加上第二大數,如果a-b> = 2,則將b加到l1中。重複此步驟,直到出現n-m <2。 –