日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python构建字典实现英文大写字母与ascii编码的转换_Python:将复杂的字符串字典从Unicode转换为ASCII...

發(fā)布時間:2024/9/27 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python构建字典实现英文大写字母与ascii编码的转换_Python:将复杂的字符串字典从Unicode转换为ASCII... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作為從JSON API調(diào)用解析的多級字典,我有很多輸入.字符串都是unicode,這意味著有很多u'stuff like this'.我正在使用jq來處理結(jié)果,需要將這些結(jié)果轉(zhuǎn)換為ASCII.

我知道我可以編寫一個函數(shù)來像這樣轉(zhuǎn)換它:

def convert(input):

if isinstance(input, dict):

ret = {}

for stuff in input:

ret = convert(stuff)

elif isinstance(input, list):

ret = []

for i in range(len(input))

ret = convert(input[i])

elif isinstance(input, str):

ret = input.encode('ascii')

elif :

ret = input

return ret

這甚至是正確的嗎?不確定.這不是我想問你的.

我要問的是,這是解決問題的典型蠻力解決方案.肯定有更好的辦法.一種更加pythonic的方式.我不是算法專家,但這個也不是特別快.

那么還有更好的方法嗎?或者如果沒有,可以改進這個功能......?

回答后編輯

Mark Amery的回答是正確的,但我想發(fā)布它的修改版本.他的函數(shù)適用于Python 2.7+而我在2.6上,所以不得不轉(zhuǎn)換它:

def convert(input):

if isinstance(input, dict):

return dict((convert(key), convert(value)) for key, value in input.iteritems())

elif isinstance(input, list):

return [convert(element) for element in input]

elif isinstance(input, unicode):

return input.encode('utf-8')

else:

return input

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的python构建字典实现英文大写字母与ascii编码的转换_Python:将复杂的字符串字典从Unicode转换为ASCII...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。