如何在列表中搜索两个值之间的数字?

2024-04-18 05:33:22 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,我有一个使用.append()添加的数字列表。我需要搜索我的列表,看看它是否包含两个设置值之间的任何特定整数,例如/介于30和40之间。

我知道我可以使用代码if x in n:搜索一个列表中的单个整数,但我不知道如何对多个整数执行此操作。


Tags: 代码in列表if数字整数append
3条回答

由于您还没有提供任何代码,我将给出一个简单的算法:

for every number in the list
    if the number is greater than 30 and less than 40
        do something with the number

例如,如果您只需要知道是否存在这样一个数字,则可以在满足条件后将布尔值设置为true。

This answer包含了一种更简略的方法来实现您心中的目标。

这是给你的函数。它返回一个列表,其中包含给定的下限和上限之间的所有值,包括重复值。如果要删除重复项,请使用^{}。我不会先对它排序,因为这比遍历列表效率低。

def between(l1,low,high):
    l2 = []
    for i in l1:
        if(i > low and i < high):
            l2.append(i)
    return l2


l = [1,3,4,5,1,4,2,7,6,5] 

print( between(l,2,5) )

[3, 4, 4]

编辑:

或者,嘿,如果你对简洁感感兴趣的话,我们就用列表理解吧!

l = [1,3,4,5,1,4,2,7,6,5]
l2 = [i for i in l if i > 2 and i < 5]    
print(l2)

[3, 4, 4]

上面的一些答案是有效的。我只是给出一个排序列表的方法。

filter(lambda x: x>30 and x<40,sorted(a))

a是输入列表

相关问题 更多 >