¿Hay una mejor manera de escribir lo siguiente:¿mejor sintaxis for-loop para detectar secuencias vacías?
row_counter = 0
for item in iterable_sequence:
# do stuff with the item
counter += 1
if not row_counter:
# handle the empty-sequence-case
Por favor, tenga en cuenta que no puedo usar len (iterable_sequence) porque: 1) longitudes no todas las secuencias han conocido; 2) en algunos casos, llamar a len() puede desencadenar la carga de los elementos de la secuencia en la memoria (como sería el caso con los resultados de la consulta sql).
La razón por la que pregunto es que simplemente tengo curiosidad si hay una manera de hacerlo más conciso e idiomático. Lo que estoy buscando es a lo largo de las líneas de:
for item in sequence:
#process item
*else*:
#handle the empty sequence case
(suponiendo que "otra cosa" aquí trabajado sólo en secuencias vacías, que sé que no lo hace)
una mejor manera de escribirlo - con qué propósito? – canavanin
para que sea más conciso e idiomático. (Voy a agregar esto a mi pregunta) –
Un ORM podría responder eso por usted; algo así como los métodos '.fetchone()' o '.first()' de DB-API devuelven 'None' si el conjunto de resultados está vacío (sin filas). – jfs