gpt4 book ai didi

python - 根据值对列表进行切片

转载 作者:太空宇宙 更新时间:2023-11-04 08:57:17 24 4
gpt4 key购买 nike

我在 python 中有一个排序列表(没有重复项),就像这样,

l = [1, 3, 5, 8, 9, 11, 13, 17]

我想根据列表值从中获取一部分。因此,如果感兴趣的值是 5。那么我想在列表中找到这个值,并在列表中获取它之前的 3 个值。

我可以通过以下函数实现我的目标

def f(k):
if k in l:
i = l.index(k)
return (l[i-2:i+1])
else:
pass


print (f(5))

[1, 3, 5]


print (f(13))

[9, 11, 13]

但是,我有两个问题。如果感兴趣的值不是列表成员,我不知道该怎么办。 f(6) 也应该返回 [1,3,5]。我不知道如何在此列表中找到 6

是否有一些“pythonic”方式来做到这一点

最佳答案

你可以使用:

 less_values = [x for x in l if x < 5]

如果你给出一个所有值都小于 5 的新列表

然后您可以轻松地选择最后 3 个值

关于python - 根据值对列表进行切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28954422/

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