python构建字典实现英文大写字母与ascii编码的转换_Python:将复杂的字符串字典从Unicode转换为ASCII...
作為從JSON API調用解析的多級字典,我有很多輸入.字符串都是unicode,這意味著有很多u'stuff like this'.我正在使用jq來處理結果,需要將這些結果轉換為ASCII.
我知道我可以編寫一個函數來像這樣轉換它:
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的回答是正確的,但我想發布它的修改版本.他的函數適用于Python 2.7+而我在2.6上,所以不得不轉換它:
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
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python构建字典实现英文大写字母与ascii编码的转换_Python:将复杂的字符串字典从Unicode转换为ASCII...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lr不能直接转ps编辑_摄影后期调色软件
- 下一篇: 一个搜索框多个按钮_网站搜索栏设计指南: