[Python-de] Re: auf Liste testen

Harald Armin Massa haraldarminmassa at gmail.com
Don Dez 15 16:35:44 CET 2005


Warum muß man überhaupt wissen, ob etwas eine Liste ist?

Reicht es nicht in 99% der Fälle aus, daß es iterierbar ist? Und das kann
man testen:


def isIterable(x):
    try: x=iter(x)
    except: pass
    else: return 1
    try:
        for i in x: return 1   # iterable
        else: return 1         # iterable, although empty
    except:
        return 0

def isStringLike(x):
    """
    ist x etwas wie ein String??
    """

    try: x+''
    except TypeError: return 0
    else: return 1

Das ganze hat Martellibot irgendwann mal in c.l.p. veröffentlicht ... und
das ganze hilft, wenn man die Liste/ das Tupel durch irgendwas iterierbares
ersetzen möchte. Macht das Programm um KLASSEN flexibler

Harald


--
GHUM Harald Massa
persuadere et programmare
Harald Armin Massa
Reinsburgstraße 202b
70197 Stuttgart
0173/9409607
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://starship.python.net/pipermail/python-de/attachments/20051215/a5f2528f/attachment.htm