在Python中,我有一个使用.append()
添加的数字列表。我需要搜索我的列表,以找到它是否包含两个设置值之间的任何特定的整数值,例如/ 30和40之间。如何搜索两个值之间的数字列表?
我知道我可以使用代码if x in n:
搜索一个整数的列表,但我不知道如何为多个整数做到这一点。
在Python中,我有一个使用.append()
添加的数字列表。我需要搜索我的列表,以找到它是否包含两个设置值之间的任何特定的整数值,例如/ 30和40之间。如何搜索两个值之间的数字列表?
我知道我可以使用代码if x in n:
搜索一个整数的列表,但我不知道如何为多个整数做到这一点。
既然你没有提供任何代码呢,我给你一个简单的算法:
for every number in the list
if the number is greater than 30 and less than 40
do something with the number
例如,如果你只需要知道,如果这样的数量存在,你可以设置一个布尔一旦条件满足,值就变为真。
This answer包括一个更简化的方式来实现你的想法。
非常有用,非常感谢。 –
这是您的一个功能。它返回一个列表,其中包含所有低于和高于给定值的值,包括重复值。如果你想摆脱重复,使用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 AChampion
min=30
max=40
nums = [8, 32, 35, 180]
nums.append(13)
for x in nums:
if x > min and x < max: print x
'min>和x
好点,谢谢@AChampion。 –
你有更多的代码,您可以显示这个? – idjaw
是按姓名排序? – LetzerWille
创建一个新的列表'[x for number_list,如果30
AChampion