Python(Django)从选项列表中删除项

Python(Django)从选项列表中删除项,python,django,Python,Django,我有一个web表单的时间列表,我需要根据最小值和最大值分钟值从列表中删除一些选项 例如,我只想显示60到180分钟之间的时间 Django表格: time_list = ( ('', 'Select'), ('15', '15 Minutes'), ('30', '30 Minutes'), ('45', '45 Minutes'), ('60', '60 Minutes'), ('75', '1:1

我有一个web表单的时间列表,我需要根据
最小值
最大值
分钟值从列表中删除一些选项

例如,我只想显示60到180分钟之间的时间

Django表格:

time_list = (
        ('', 'Select'),
        ('15', '15 Minutes'),
        ('30', '30 Minutes'),
        ('45', '45 Minutes'),
        ('60', '60 Minutes'),
        ('75', '1:15'),
        ('90', '1:30'),
        ('105', '1:45'),
        ('120', '2:00'),
        ('135', '2:15'),
        ('150', '2:30'),
        ('165', '2:45'),
        ('180', '3:00'),
        ('240', '4:00'),
        ('300', '5:00'),
        ('360', '6:00'),
        ('420', '7:00'),
        ('480', '8:00'),
        ('540', '9:00'),
        ('600', '10:00'),
        ('660', '11:00'),
        ('720', '12:00'),
        ('1440', '24:00'),
    ) 

min_time = 60 #defined in DB
max_time = 180 #defined in DB
在这里,我尝试筛选列表失败:

tmp = []
    for i in time_list:
        if i > min_time and i < max_time:
            tmp.append(i)
time_list =  tmp
tmp=[]
对于i in time_列表:
如果i>min\u时间且i
尝试将其更改为

time_list = iter(time_list)
next(time_list)
tmp = []
    for i in time_list:
        if int(i[0]) > min_time and int(i[0]) < max_time:
            tmp.append(i)
time_list =  tmp
time\u list=iter(time\u list)
下次(时间列表)
tmp=[]
对于i in time_列表:
如果int(i[0])>最小时间和int(i[0])<最大时间:
tmp.append(i)
时间列表=tmp
在一行中:

time_list = list(filter(lambda x: min_time < int(x[0]) < max_time, time_list[1:]))
time\u list=list(过滤器(lambda x:min\u time
如果要包括空选项:

time_list = [time_list[0]] + list(filter(lambda x: min_time < int(x[0]) < max_time, time_list[1:]))
time\u list=[time\u list[0]]+list(过滤器(lambda x:min\u time
这里有一些提示可以帮助您开始:在循环中,
i
是一个元组,因此您实际上想要使用
i[0]
。接下来,您不应该将
'15'
之类的字符串与
60
之类的整数进行比较。最后,您还应该考虑是否要在输出中包含空选项
'
。@Alasdair,您是对的,我应该想到这一点,您的提示可能会让我达到目的。谢谢你的时间!哇!非常好,非常优雅。对不起,我不能接受你的回答,因为我已经接受了埃曼纽尔·姆塔利的回答。(顺便说一句,结尾的括号太多了,否则它就成了一个符咒!)!谢谢你的帮助和时间!非常感谢!