我很好奇周围的Python Ninjas如何优雅和诡异地执行以下操作:
我有一个数据结构,它是从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'>
Run Code Online (Sandbox Code Playgroud)
我想通过并使每个字符串小写,即每个列表中的每个键和每个字符串.
你会怎么做?
Nic*_*ley 19
真的很简单,虽然我不确定你叫它Pythonic:
newDict = eval(repr(myDict).lower())
Run Code Online (Sandbox Code Playgroud)
Saner方式:
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())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1697 次 |
| 最近记录: |