完全重新映射字典,集合,列表等中的键和值?

时间:2015-06-02 22:21:25

标签: python dictionary

我有各种键(集),值(元组集)等的defaultdict(set)。

我还有各种键(元组)和值(字符串)的字典。

例如,也许所有东西都是日语,有日语键和值。

我有日语的映射 - >英语,并希望将我的对象中的所有内容更新为新的键和值。整体结构是一样的,只是键/值不同而得名。

我可以通过循环遍历所有内容并弹出/替换来手动执行此操作,但这很无聊。我很好奇是否有更多的Pythonic方式。

1 个答案:

答案 0 :(得分:0)

假设您有一个名为Cursor cursor = getContentResolver().query();或类似的函数,您可以传入日语密钥并输出等效的英语密钥,以及convert_keys函数执行相同但具有值的函数,你可能会尝试这样的事情:

convert_values

它仍然与弹出/替换基本上是相同的算法,但是对每个键/项对操作englishDict = dict(map(lambda x: (convert_keys(x[0]),convert_values(x[1])),japaneseDict.items())) ,您可以将其压缩到一行。