2 votes

Comment séparer chaque élément d'une liste imbriquée et convertir la liste en liste de tuples ?

J'ai une liste imbriquée comme ci-dessous :

Zeros = [[1], [2], [3, 4], [5, 6]]

Comment puis-je séparer chaque élément et créer une liste de tuples, comme ci-dessous :

Modified_zeros = [(1), (2), (3), (4), (5), (6)]

Remerciements

2voto

student Points 7119

Vous pouvez essayer d'itérer chaque élément de la liste imbriquée et finalement ajouter l'élément unique entre parenthèses avec , . Il y a autres réponses similaires pour créer des tuples.

results = [(j,) for i in Zeros for j in i]

Sortie :

[(1,), (2,), (3,), (4,), (5,), (6,)]

1voto

Jack Thomson Points 360

Sur la base de cette répondre :

flat_list = [(item,) for sublist in l for item in sublist]

Dónde l est votre liste originale (Zéros dans votre cas)

0voto

prashant rana Points 2648

Pour les listes imbriquées à plusieurs niveaux

Zeros = [[1], [2], [3, 4], [5, 6,[1,2,3,4]]]

def fun(l):
    res=[]
    if isinstance(l,list):
        for i in l:
            res.extend(fun(i))
    elif isinstance(l,int):
        res.append((l,))
    return res

print(fun(Zeros))

sortie

[(1,), (2,), (3,), (4,), (5,), (6,), (1,), (2,), (3,), (4,)]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X