Czy istnieje lepszy sposób, aby napisać następujące:lepsza składnia pętli for do wykrywania pustych sekwencji?
row_counter = 0
for item in iterable_sequence:
# do stuff with the item
counter += 1
if not row_counter:
# handle the empty-sequence-case
Proszę pamiętać, że nie mogę używać len (iterable_sequence), ponieważ 1) Nie wszystkie sekwencje znane długości; 2) w niektórych przypadkach wywołanie len() może spowodować załadowanie elementów sekwencji do pamięci (tak jak w przypadku wyników zapytania sql).
Powodem, dla którego pytam, jest to, że jestem po prostu ciekawy, czy istnieje sposób, aby uczynić to bardziej zwięzłym i idiomatycznym. Co szukam jest wzdłuż linii:
for item in sequence:
#process item
*else*:
#handle the empty sequence case
(zakładając, że „inny” tutaj pracował tylko na pustych sekwencji, co wiem, to nie robi)
lepszy sposób to napisać - w jakim celu? – canavanin
, aby był bardziej zwięzły i idiomatyczny. (mam zamiar dodać to do mojego pytania) –
ORM może odpowiedzieć na to za ciebie; coś takiego jak metody '.fetchone()' lub '.first() DB-API zwracają' Brak', jeśli zestaw wyników jest pusty (brak wierszy). – jfs