gpt4 book ai didi

python - 更新函数参数中的列表范围

转载 作者:行者123 更新时间:2023-12-04 08:09:11 25 4
gpt4 key购买 nike

需要解决的问题:定义一个 Python 函数 remdup(l),它接受一个非空的整数列表 l
并删除 l 中的所有重复项,仅保留每个数字的最后一次出现。例如:
如果我们传递这个参数,那么 remdup([3,1,3,5]) 它应该给我们一个结果 [1,3,5]

def remdup(l):
for last in reversed(l):
pos=l.index(last)
for search in reversed(l[pos]):
if search==last:
l.remove(search)

print(l)


remdup([3,5,7,5,3,7,10])

# intended output [5, 3, 7, 10]
在第 4 行 for 循环中,我希望反向函数检查除 index[last] 之外的每个数字,但是如果我使用我在上面代码中所做的方式,它将采用 pos 处的值,而不是索引号。我该如何解决这个问题

最佳答案

您需要反转整个切片,而不仅仅是一个元素:

        for search in reversed(l[:pos]):
请注意,您可能会在迭代时遇到修改列表的问题。见 here

我花了几分钟才弄清楚笨拙的逻辑。相反,您需要列表的其余部分:
    for search in reversed(l[pos+1:]):
输出:
[5, 3, 7, 10]

关于python - 更新函数参数中的列表范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66072955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com