我有一个很大的字典对象,它有几个键值对(大约 16 个),但我只对其中的 3 个感兴趣。对此类字典进行子集化的最佳方法(最短/最有效/最优雅)是什么?
我知道的最好的是:
bigdict = {'a':1,'b':2,....,'z':26}
subdict = {'l':bigdict['l'], 'm':bigdict['m'], 'n':bigdict['n']}
我相信有比这更优雅的方式。
原文由 Jayesh 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个很大的字典对象,它有几个键值对(大约 16 个),但我只对其中的 3 个感兴趣。对此类字典进行子集化的最佳方法(最短/最有效/最优雅)是什么?
我知道的最好的是:
bigdict = {'a':1,'b':2,....,'z':26}
subdict = {'l':bigdict['l'], 'm':bigdict['m'], 'n':bigdict['n']}
我相信有比这更优雅的方式。
原文由 Jayesh 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
你可以试试:
…或在蟒蛇3 Python 2.7 或更高版本 (感谢 Fábio Diniz 指出它也适用于 2.7) :
更新:正如 Håvard S 指出的那样,我假设您知道键将在字典中 - 如果您无法做出该假设,请参阅 他的回答。或者,正如 timbo 在评论中指出的那样,如果您想要
bigdict
中缺少的密钥映射到None
,您可以执行以下操作:如果您使用的是 Python 3,并且您 只 想要新字典中实际存在于原始字典中的键,则可以使用事实来查看对象实现一些设置操作: