我想写一个函数,它将此列表的第一个元素与此列表的最后一个元素进行比较,此列表的第二个元素与此列表的第二个最后一个元素,等等。如果比较的元素相同,我想将元素添加到新列表中。最后,我想打印这个新列表。比较第一个和最后一个元素,第二个和第二个最后一个元素等的函数
例如,
>>> 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