以下适用于字典,但不适用于 OrderedDict。对于 od 它似乎形成了一个无限循环。你能告诉我为什么吗?如果函数输入是dict它必须返回dict,如果输入是OrderedDict它必须返回od。
def key_lower(d):
"""returns d for d or od for od with keys changed to lower case
"""
for k in d.iterkeys():
v = d.pop(k)
if (type(k) == str) and (not k.islower()):
k = k.lower()
d[k] = v
return d