亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在列表中刪除你

在列表中刪除你

米琪卡哇伊 2019-12-15 16:12:09
我已閱讀過刪除列表中的字符“ u”的信息,但我使用的是Google App Engine,它似乎不起作用!def get(self):    players = db.GqlQuery("SELECT * FROM Player")    print players    playerInfo  = {}    test = []    for player in players:        email =  player.email        gem =  str(player.gem)        a = "{email:"+email + ",gem:" +gem +"}"        test.append(a)    ast.literal_eval(json.dumps(test))    print test最終輸出:[u'{email:[email protected],gem:0}', u'{email:test,gem:0}', u'{email:test,gem:0}', u'{email:test,gem:0}', u'{email:test,gem:0}', u'{email:test1,gem:0}']
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

“ u”是字符串的外部表示形式的一部分,這意味著它是Unicode字符串,而不是字節字符串。它不在字符串中,而是類型的一部分。


例如,您可以使用相同的synax創建新的Unicode字符串文字。例如:


>>> sandwich = u"sm?rg?s"

>>> sandwich

u'sm\xf6rg\xe5s'

這將創建一個新的Unicode字符串,其值是“三明治”的瑞典語單詞。您可以看到非英語字符由它們的Unicode代碼點表示,?是\xf6和?是\xe5。就像在您的示例中一樣,出現'u'前綴,表示該字符串包含Unicode文本。


要消除這些問題,您需要將Unicode字符串編碼為某些面向字節的表示形式,例如UTF-8。您可以使用例如:


>>> sandwich.encode("utf-8")

'sm\xc3\xb6rg\xc3\xa5s'

在這里,我們得到一個不帶前綴“ u”的新字符串,因為這是一個字節字符串。它包含代表Unicode字符串字符的字節,由于UTF-8編碼的奇妙,瑞典語字符導致多個字節。



查看完整回答
反對 回復 2019-12-16
?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

[u'{email:[email protected],gem:0}', u'{email:test,gem:0}', u'{email:test,gem:0}', u'{email:test,gem:0}', u'{email:test,gem:0}', u'{email:test1,gem:0}']

“ u”表示unicode字符。我們可以使用最終列表元素上的map函數輕松刪除它


map(str, test)

另一種方法是將其追加到列表時


test.append(str(a))



查看完整回答
反對 回復 2019-12-16
  • 3 回答
  • 0 關注
  • 342 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號