0

我有一个 django 列表如下:hotess1是一个数据库结果集。

for hotel in hotels1:
            if models.CalendarDay.objects.filter(hotel=hotel, date=date).count() == 0:
                similar_venues.append(hotel)

列表大小是动态的,但我只想返回前三个值

我可以这样做:

for hotel in hotels:
        if models.CalendarDay.objects.filter(hotel=hotel, date=date).count() == 0:
            similar_venues.append(hotel)
            counter += 1
            if counter == 3: break

但我想以更好的方式做到这一点..任何帮助

4

1 回答 1

1

您可以使用切片运算符:my_list[:3]将返回一个包含前三个值的列表my_list

(除非值少于三个,在这种情况下你会得到所有的东西)。

于 2012-09-18T13:53:26.880 回答