2015-10-14 84 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

很酷的選擇! –