python - 用于在 Unicode 字符串的嵌套字典中将所有键和值强制为小写的优雅的 pythonic 解决方案?

标签 python

我很好奇这里的 Python Ninjas 会如何优雅地和 Python 地执行以下操作:

我有一个数据结构,它是从 unicode 字符串到从 unicode 字符串到 unicode 字符串列表的字典。所以:

>>> type(myDict)
<type 'dict'>
>>> type(myDict[u'myKey'])
<type 'dict'>
>>> type(myDict[u'myKey'][u'myKey2'])
<type 'list'>
>>> type(myDict[u'myKey'][u'myKey2'][0])
<type 'unicode'>

我想遍历并将其中的每个字符串都变成小写,即每个列表中的每个键和每个字符串。

你会怎么做?

最佳答案

非常简单的方法,虽然我不确定你会称它为 Pythonic:

newDict = eval(repr(myDict).lower())

更稳健的方式:

newDict = dict((k1.lower(),
                dict((k2.lower(),
                      [s.lower() for s in v2]) for k2, v2 in v1.iteritems()))
               for k1, v1 in myDict.iteritems())

关于python - 用于在 Unicode 字符串的嵌套字典中将所有键和值强制为小写的优雅的 pythonic 解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/823030/

相关文章:

python - python 多重继承中的 super() 用法

python - 是否有用于在主目录中创建点文件夹的 Python 习惯用法?

python - 通过 GitHub 将游戏安装到 Google Colab

python - 地理编码器不可用 : HTTPSConnectionPool error for some addresses using geopy and Nominatim

python - 嵌套字典中的多个嵌套字典

python - 解析 HTML 无限滚动

python - tensorflow 错误 : Shape must be rank 0 but is rank 1 for 'cond_1/Switch'

python - 在单元测试代码中调用 Django 命令

python - 如何在 python 中编码/解码转义序列字符

python - 提取相关链接并将其存储为 .csv 文件