J'ai une liste comme celle-ci:
my_lst = [1,2,3,4]
5 Réponses :
Vous avez une liste de listes.
my_lst = my_lst[0] #get the first list of the list
my_lst = my_lst[0] You have a list with one element, which is itself a list. You want the variable to just be that first element, the list 1,2,3,4.
Le double ou le décompressez: p> [[]] code> est parce que vous avez une liste code> contenant une liste code>. Pour sortir la liste interne code>, il suffit d'indexer: [my_lst] = my_lst
Vous pouvez utiliser iTertools code> pour atteindre cela sans écrire votre boucle explicite si la longueur de la liste extérieure pourrait en être plus d'une.
Vous pouvez réduire 1 dimension à l'aide de somme code>. my_lst=sum(my_lst,[])
# [1,2,3,4]
C'est une approche générale très terrible. Il se trouve bien (si quelque peu bizarre) pour la liste unique interne code>, mais c'est un Schlemiel l'algorithme du peintre en matière d'aplatissement généralisée d'un iérêlé de la liste code> S, avec Quadratic Runtime (où Liste code> ISISANT L'Itérateur produit Par iTERTOOLS.CHAIN CODE> / iTERTOOLS.CHAIN.FROM_ITERABLE code> est la solution correcte pour ce cas, ayant une runni-roulement linéaire).
@Sociopathe: il pourrait être à l'intérieur d'un
dict code>, et c'est techniquement une annotation de type légale dans le python moderne, mais oui, il est peu probable que tout seul soit ce que quiconque veut réellement.