作者zo6596001 (超帥肥宅)
看板Python
標題[問題] unicode 字串比對問題
時間Sat May 27 22:37:07 2017
哈囉大家好,我剛才寫程式遇到了"兩"個問題。
用某網站的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
推 Sunal: 關於第一個問題 你要比value 要用 == != 05/28 00:04
→ Sunal: is 是判斷參考的物件用的 05/28 00:04
推 Sunal: 第二個問題應該也一樣 05/28 00:06
原來如此......難怪之前要抓出台南的車禍數據一直鬼打牆...... 感謝你~~
※ 編輯: zo6596001 (59.115.36.22), 05/28/2017 00:23:44
推 CaptainH: 什麼年代還用python2 05/28 11:00
系統是 CentOS , 不知道為什麼 Python 3 裝不起來,所以只能用2啦~
※ 編輯: zo6596001 (61.231.132.69), 05/29/2017 02:00:51
→ coeric: 我到現在還是用2.......錯了嗎?T_T 05/31 10:23