[問題] unicode 字串比對問題

看板Python作者 (超帥肥宅)時間8年前 (2017/05/27 22:37), 8年前編輯推噓3(302)
留言5則, 3人參與, 最新討論串1/1
哈囉大家好,我剛才寫程式遇到了"兩"個問題。 用某網站的API抓資料下來(資料為Dictionary),想要抓出 浮點數值 非 0 的資料。 for key,value in pNet.returnBalances().items() : if float(value) is not 0 : print key + " : " + value 結果 Dictionary 裡面的資料全部都印出來了。 請問一下這要怎麼解決呢? 嘗試把 0 改成 0.00000000 也沒辦法解決這些問題。 第二個問題是 我想把 Dictionary 裡的某個 Key 抓出來,程式碼如下: for key,value in pNet.returnBalances().items() : if key is u"BTC" : print "!!!" + key + " : " + value + "!!!" 結果沒有東西跑出來...... type(key)的結果是 <type 'unicode'> 使用decode("utf-8")也沒辦法解決。 if str(key) is str("BTC")也沒辦法解決,反過來兩個都用decode("utf-8")也沒辦法。 if cmp(key,"BTC") is True 也沒辦法 每種方法加上 \n 也沒辦法解決。 請問這該怎麼解決呢? 為什麼 python 明明兩筆資料看起來完全一樣,但程式卻分辨不出來呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.36.22 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1495895830.A.0C5.html

05/28 00:04, , 1F
關於第一個問題 你要比value 要用 == !=
05/28 00:04, 1F

05/28 00:04, , 2F
is 是判斷參考的物件用的
05/28 00:04, 2F

05/28 00:06, , 3F
第二個問題應該也一樣
05/28 00:06, 3F
原來如此......難怪之前要抓出台南的車禍數據一直鬼打牆...... 感謝你~~ ※ 編輯: zo6596001 (59.115.36.22), 05/28/2017 00:23:44

05/28 11:00, , 4F
什麼年代還用python2
05/28 11:00, 4F
系統是 CentOS , 不知道為什麼 Python 3 裝不起來,所以只能用2啦~ ※ 編輯: zo6596001 (61.231.132.69), 05/29/2017 02:00:51

05/31 10:23, , 5F
我到現在還是用2.......錯了嗎?T_T
05/31 10:23, 5F
文章代碼(AID): #1PAOyM35 (Python)