是否可以同时为 dict 对象中的多个键分配相同的值?

2023-11-26

在 Python 中,我需要一个字典对象,如下所示:

{'a': 10, 'b': 20, 'c': 10, 'd': 10, 'e': 20}

我已经能够通过结合成功地做到这一点dict.update() and dict.fromkeys()函数如下:

myDict = {}
myDict.update(dict.fromkeys(['a', 'c', 'd'], 10))
myDict.update(dict.fromkeys(['b', 'e'], 20))

但是,由于代码是为可能需要偶尔添加键/值的新手用户编写的,因此我更喜欢简单的基本(类似 Perl)语法,例如:

myDict = {}
myDict['a', 'c', 'd'] = 10
myDict['b', 'e'] = 20

然而,这给了我:

myDict = {('a', 'c', 'd'): 10, ('b', 'e'): 20}

有没有办法可以简化我的第一个示例(使用dict.update() and dict.fromkeys())进一步,并获取我正在寻找的 dict 对象?

或者,如果我有一个包含元组的字典(如我的第二个示例中所示),是否有一种简单的方法可以让我进行查找,例如myDict['c'] or myDict.get('c')并得到值10?


我想说你拥有的是very很简单,你可以稍微改进一下:

my_dict = dict.fromkeys(['a', 'c', 'd'], 10)
my_dict.update(dict.fromkeys(['b', 'e'], 20))

如果你的键是元组,你可以这样做:

>>> my_dict = {('a', 'c', 'd'): 10, ('b', 'e'): 20}
>>> next(v for k, v in my_dict.items() if 'c' in k)      # use .iteritems() python-2.x
10

当然,这将返回第一个遇到的值,其键包含给定元素。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以同时为 dict 对象中的多个键分配相同的值? 的相关文章

随机推荐