0
votes

Comment transmettre des mots sur un tableau pas des caractères simples - Python

Donc, je lis dans un fichier TXT à Python et souhaitez obtenir une liste de tous les mots du fichier. Je le fais de cette méthode par cette méthode. XXX

au lieu de tous les mots de retour des mots réels Il renvoie une liste de caractères simples tels que ['A', 'B'] < / Code> et ainsi de suite.

Mais lorsque le débogage, je peux voir que le mot variable est un mot réel et pas seulement des caractères. Où est-ce que je me trompe ici?


1 commentaires

f.close ne fait rien. Votre ajout d'une séquence (chaîne) à une autre séquence (une liste), vous obtenez donc une séquence la combinaison des deux séquences. Utilisez list.append .


4 Réponses :


0
votes

Essayez ceci:

def parse_in(file_location, input_name):
    all_words = []
    with open(file_location + input_name,'r') as f:
        for line in f:
            all_words += line.split()
    return all_words


0 commentaires

3
votes

Utilisez xxx

au lieu de xxx

si vous utilisez + = alors mot / Code> est traité comme une séquence, les caractères individuels sont donc appliqués à la liste.

Vous pouvez également utiliser + = et simplifier votre boucle à: xxx


0 commentaires

0
votes

all_words + = Word étend la liste all_words avec les éléments dans mot . Comme Word est une chaîne, les caractères sont ajoutés, comme si vous aviez itéré à celui-ci avec pour .

Utiliser all_words.append (Word) pour ajouter le mot à la liste des mots.


0 commentaires

0
votes

Si vous utilisez le gestionnaire de contexte, vous n'avez pas besoin de fermer le fichier et que la simplicité, vous pouvez simplement lire un fichier complet et simplement utiliser la méthode SPLIT

def parse_in(file_location, input_name):
    all_words = []
    with open(file_location + input_name,'r') as f:
        all_words = f.read().split()

    return all_words


0 commentaires