我想寫一個函數,它將此列表的第一個元素與此列表的最後一個元素進行比較,此列表的第二個元素與此列表的第二個最後一個元素,等等。如果比較的元素相同,我想將元素添加到新列表中。最後,我想打印這個新列表。比較第一個和最後一個元素,第二個和第二個最後一個元素等的函數
例如,
>>> f([1,5,7,7,8,1])
[1,7]
>>> f([3,1,4,1,5]
[1,4]
>>> f([2,3,5,7,1,3,5])
[3,7]
我想先取(i)和去年(k)的元素,對它們進行比較,然後擡起我,但較低的K,然後重複上述過程。當我和K'重疊時,停止並打印列表。我試圖想象我的想法在下面的代碼:
def f(x):
newlist=[]
k=len(x)-1
i=0
for j in x:
if x[i]==x[k]:
if i<k:
newlist.append(x[i])
i=i+1
k=k-1
print(newlist)
請讓我知道,如果有我的代碼中的任何錯誤,或是否有解決問題的一個更合適的方式。
由於我是Python新手,在理解Python的複雜術語/特性方面我不太擅長。因此,如果您在回答中考慮了這一點,將會受到鼓勵。
遍歷序列產生的元素,而不是指標。 –
@ IgnacioVazquez-Abrams我明白了!我編輯了我的代碼來解決這個問題。 – Jazzachi
爲什麼你的第二個例子也返回[4],但第三個例子不返回[7]? (在這兩種情況下,它們都是「列表中心」的元素) – FLab