[pyar] Duda: longitud de un iterable.

Roberto Alsina ralsina en netmanagers.com.ar
Mie Sep 15 20:12:11 ART 2010


Estimados, tengo una duda.

Si tengo un iterable "data" (o sea, algo sobre lo que puedo correr un for) y 
quiero averiguar su longitud, hago len(data)?

Eso no me "desenrolla" los generadores tipo como hace len(list(data))?

Es para este código:

# -*- coding: utf-8 -*-
import sys, time
from PyQt4 import QtCore, QtGui

def progress(data, *args):
    it=iter(data)
    widget = QtGui.QProgressDialog(*args+(0,len(data)))
    c=0
    for v in it:
        QtCore.QCoreApplication.instance().processEvents()
        if widget.wasCanceled():
            raise StopIteration
        c+=1
        widget.setValue(c)
        yield(v)

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)

    # Do something slow
    for x in progress(xrange(50),"Show Progress", "Stop the madness!"):
        time.sleep(.2)



More information about the pyar mailing list