Python définit une instruction de changement de valeur, pourquoi cela ne fonctionne-t-il pas ?
淡淡烟草味
淡淡烟草味 2017-06-28 09:25:55
0
1
752

Je souhaite définir certaines données du fichier sur la valeur d'origine et définir la valeur manquante sur 0, mais le résultat final est entièrement 0. Quel est le problème avec le code ?
Description de l'image des données originales
Résultat du traitement Description de l'image

#!/usr/bin/python #coding:utf-8 train_data = {} input_data = open("train_tfidf.txt", "r").readlines() output_data = open("single_tfidf.txt", "w") for line in input_data: temp_dict = {} for i in range(60304): temp_dict[i] = 0 datas = line.split() for ele in datas: try: word_index = ele.split(":")[0] tfidf = ele.split(":")[1] if word_index == i: temp_dict[i] = tfidf except: continue # print temp_dict # print word_index, tfidf output_data.write(str(temp_dict)) output_data.write('\n') [1]: /img/bVPJMi [2]: /img/bVPJMV
淡淡烟草味
淡淡烟草味

répondre à tous (1)
洪涛

Puisque vousrange()跑完了再去遍历的datas,由于range()是个迭代函数,所以在运行datasfor循环的时候,i的值一直是60303,所以也就不满足if word_index == iavez défini cette condition, à l'exception de l'élément 60303, tout le reste est toujours la valeur initiale. En fait, il est recommandé de le changer comme ça

if word_index == i: temp_dict[i] = tfidf

Vous pouvez juger directementtemp_dict[word_index]是否存在为0,如果没有定义,则应该是Noneici, cette section est donc remplacée par

if temp_dict[word_index] == 0: temp_dict[word_index] = tfidf
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!