0
votes

Tri et énumérer les données importées du fichier TXT (Python)

Guys!

J'essaie de faire une liste de films, avec des données importées à partir d'un fichier TXT qui ressemble à ceci: p> xxx pré>

(avec y = regardé , et n = n'ont pas encore vu) P>

J'essaie de trier la liste par nom, de sorte qu'il ressemblera à quelque chose comme: p> xxx pré> Et c'est ce que j'ai jusqu'à présent: p> xxx pré>

J'ai trouvé un didacticiel et j'ai essayé d'ajouter ce code dans la fonction pour les trier: P>

        for k, v in movie_list.items():
            movie_list[literal_eval(k)] = v


1 commentaires

Vous pouvez énumérer l'objet de fichier que vous êtes itération


3 Réponses :


0
votes

Vous allez ici, cela devrait le faire: xxx pré>

Nous définissons d'abord regardé_mapping code> qui chante simplement les valeurs dans votre fichier pour les valeurs souhaitées. P >

Après cela, nous ouvrons le fichier et lisons toutes ses lignes dans une liste code> Content Code>. p>

prochaine chose à faire est d'analyser et d'extraire des valeurs de celui-ci (de Chaque ligne que nous devons extraire le nom du film et s'il a été regardé ou non). Nous économiserons ces valeurs dans une autre liste de dictionnaires, chacun contenant le nom de la vidéo et si elle a été surveillée. P>

c'est ce que nom, regardé = ligne.strip (). Lined ("" ' ) .RStrip ('"'). Split ('" ","' ") Code> est pour, il bandes essentiellement des déchets de chaque extrémité de la ligne, puis divise la ligne par des ordures au milieu, retournement propre Nom code> et regardé code>. p>

prochaine chose à faire est de trier la liste par Nom code> Valeur dans chaque dictionnaire: p>

sorted_movies = sorted(movies, key=lambda k: k['name'].lower())


2 commentaires

Heureux d'avoir pu aider: D


salut! Question rapide, y a-t-il un moyen de le faire afin que les articles soient triés, il est non sensible à la casse?



0
votes

Votre fonction avec une solution rapide xxx


0 commentaires

0
votes

Eh bien, je viens de modifier votre code. Lorsque vous utilisez triché () code> sur un dictionnaire code>, le dictionnaire est converti en une liste de tuples code>. Tout ce que j'ai fait, c'est que j'ai fait un autre dictionnaire à partir de la liste code> existant des tuples code>.

def sortAlphabetically():
    movie_list = dict()
    with open('movies.txt') as f:
        for line in f:
            movie, watched = line.strip().split(',')
            movie_list[movie.strip()] = watched.strip()

    movie_sorted = sorted(movie_list.items(), key = lambda kv: kv[0])
    movie_list = dict()
    for key, value in movie_sorted:
        movie_list[key] = value
    i = 1
    for key, value in movie_list.items():
        if value == 'Y':
            print("{}. {} {}".format(i,key,"(Watched)"))
        else:
            print("{}. {} {}".format(i,key,"Have Not Watched Yet"))
        i += 1


6 commentaires

@Reclusive_Nymph heureux je pourrais aider :)


salut! Question rapide, y a-t-il un moyen de le faire afin que les articles soient triés, il est non sensible à la casse?


@Reclusive_nymph La solution que j'ai est sensible à la casse. Je peux la rendre non sensible à la casse si vous voulez


Pouvez-vous s'il vous plaît dites-moi comment faire ça?


à la place de lambda kv: kv [0] Utiliser lambda kv: kv [0] .Lower ()


Heureux pourrait être utile :)