久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python設置了值更改語句,為什么沒起作用?

瀏覽:100日期:2022-06-27 11:01:33

問題描述

我想將文件的數據有的則設為原來的值,沒有的值則設為0,可是最后結果都是0,代碼哪里不正確?原始數據圖片描述處理結果 圖片描述

#!/usr/bin/python#coding:utf-8train_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] = tfidfexcept: continue # print temp_dict # print word_index, tfidf output_data.write(str(temp_dict)) output_data.write(’n’) [1]: /img/bVPJMi [2]: /img/bVPJMV

問題解答

回答1:

由于你range()跑完了再去遍歷的datas,由于range()是個迭代函數,所以在運行datas的for循環的時候,i的值一直是60303,所以也就不滿足if word_index == i這個條件了,所以除了60303那項,其他的都還是初始值。其實建議這樣改

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

這邊可以直接判斷temp_dict[word_index]是否存在為0,如果沒有定義,則應該是None,所以這塊改為

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 龙南县| 万安县| 阿图什市| 壤塘县| 桃源县| 浦县| 曲阜市| 绥芬河市| 漠河县| 屯昌县| 犍为县| 亚东县| 府谷县| 航空| 自贡市| 德钦县| 个旧市| 青田县| 吉林市| 英山县| 建宁县| 石河子市| 斗六市| 武夷山市| 静乐县| 新兴县| 廉江市| 银川市| 青神县| 莱芜市| 绿春县| 双辽市| 普定县| 凯里市| 兴宁市| 盐津县| 观塘区| 虹口区| 瓮安县| 银川市| 焉耆|