0

以下のような django リストがあります: hotess1はデータベースの結果セットです。

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

リストのサイズは動的ですが、最初の 3 つの値のみを返したい

私は以下のようにすることができます:

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]の最初の 3 つの値を含むリストを返しますmy_list

(ただし、値が 3 つ未満の場合はすべてが返されます)。

于 2012-09-18T13:53:26.880 に答える