Python: Initialiser une liste à l'aide de la fonction INPUT

Voici une petite fonction permettant d'initialiser une liste en saisissant les valeurs à la volée à l'aide de la fonction input.

Certe inutile pour une courte liste [1,2,3,4], mais vraiment très pratique pour une longue liste et contenant surtout des données alpha-numériques (évite de saisir les quotes entourant la chaine de texte)

Compatible Python2 et Python3

>>> def initializeList():
    l = []
    # Pour la compatibilité Python2 et Python3
    _input = input
    if hasattr(__builtins__, 'raw_input'):
        _input = raw_input
    # Boucle infinie pour remplir la liste
    while True:
        d = _input("--> ").strip()
        if d == '':
            # On quitte si la valeur est vide
            break
        else:
            # On tente une conversion en int
            try:
                l.append(int(d))
            except ValueError:
                # Si erreur, on tente une conversion en float
                try:
                    l.append(float(d))
                except ValueError:
                    # Sinon, on laisse la valeur au format chaine de texte
                    l.append(d)
    # On retourne la liste
    return l

>>> myList = initializeList()
--> 1
--> 2
--> 3
--> 4
--> 5
--> 6
--> a
--> z
--> er
--> r
--> t
--> y
--> fg
--> d
-->
>>> print(myList)
[1, 2, 3, 4, 5, 6, 'a', 'z', 'er', 'r', 't', 'y', 'fg', 'd']
>>>

Ca peut toujours servir