小写Python字典中的键和值

时间:2017-05-28 16:34:22

标签: python-2.7 dictionary lowercase

我有一本字典,我想插入一个mongodb。代码可以工作,但我想插入它,两个键和值移动到小写,以便以后搜索。一些示例数据将是:

{'Publisher': u'TSR', 'Language': u'en', 'Title': u'The Silent Blade', 'Authors': [u'R. A. Salvatore'], 'ISBN-13': u'9780786913886', 'Year': u'1998'}

{'Publisher': u'Houghton Mifflin Harcourt', 'Language': u'en', 'Title': u'A Field Guide To Mushrooms, North America', 'Authors': [u'Kent H. McKnight', u'Roger Tory Peterson', u'Vera B. McKnight'], 'ISBN-13': u'9780395910900', 'Year': u'1998'}

注意第二个选项有多个作者,所以字典中有一个列表。我还是蟒蛇新手,这让我度过了许多个夜晚。似乎无法理解如何访问它们。我可以用这个

来改变关键案例的情况
book_data = {k.lower(): v for k, v in book_data.items()} #keys
book_data = {v.lower(): k for k, v in book_data.items()} #values

但是我试图将这个键从键修改为值并将它们背靠背放置,但是在第二个示例中它在列表中失败了。迭代整个字典并将键小写为值的最佳方法是什么?我的大多数搜索都会返回更改密钥的大小写。

2 个答案:

答案 0 :(得分:1)

我定义了一个递归小写值的函数,然后在dict理解中使用它:

SELECT [City], COUNT(status)
FROM [TABLE_NAME]
WHERE [status] LIKE '%exist%'
GROUP BY [City] 

答案 1 :(得分:0)

一步一步完成整个事情:

book_data = {dict.items()中k,v的k.lower():str(v).lower()}