2015-10-14 39 views
-1

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

我知道我可以使用代码if x in n:搜索一个整数的列表,但我不知道如何为多个整数做到这一点。

+2

你有更多的代码,您可以显示这个? – idjaw

+0

是按姓名排序? – LetzerWille

+0

创建一个新的列表'[x for number_list,如果30 AChampion

回答

0

既然你没有提供任何代码呢,我给你一个简单的算法:

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

例如,如果你只需要知道,如果这样的数量存在,你可以设置一个布尔一旦条件满足,值就变为真。

This answer包括一个更简化的方式来实现你的想法。

+0

非常有用,非常感谢。 –

3

这是您的一个功能。它返回一个列表,其中包含所有低于和高于给定值的值,包括重复值。如果你想摆脱重复,使用set。我不会先排序它,因为这样会比遍历列表效率低。

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]

+2
0
min=30 
max=40 

nums = [8, 32, 35, 180] 
nums.append(13) 

for x in nums: 
    if x > min and x < max: print x 
+1

'min>和x AChampion

+0

好点,谢谢@AChampion。 –

0

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

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

一个是输入列表

+2

'30 AChampion

+0

@AChampion:是的,它会工作:) – Vineesh

+0

很酷的选择! –

相关问题