相关疑难解决方法(0)

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

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

{'a': 10, 'b': 20, 'c': 10, 'd': 10, 'e': 20}
Run Code Online (Sandbox Code Playgroud)

我已经能够通过组合dict.update()和如下dict.fromkeys()功能成功地获得这个:

myDict = {}
myDict.update(dict.fromkeys(['a', 'b', 'c'], 10))
myDict.update(dict.fromkeys(['b', 'e'], 20))
Run Code Online (Sandbox Code Playgroud)

但是,因为代码是为有时需要添加键/值的新手用户编写的,所以我更喜欢简单的简单(Perl-like)语法,例如:

myDict = {}
myDict['a', 'c', 'd'] = 10
myDict['b', 'e'] = 20
Run Code Online (Sandbox Code Playgroud)

然而,这给了我:

myDict = {('a', 'c', 'd'): 10, ('b', 'e'): 20}
Run Code Online (Sandbox Code Playgroud)

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

或者,或者,如果我在第二个例子中有一个带有元组的字典,那么我是否可以轻松地进行查找,例如myDict['c']myDict.get('c')获取值10?

python syntax dictionary

44
推荐指数
5
解决办法
6万
查看次数

反转一对一映射字典

假设有一本字典

a = {'a':122,'b':123,'d':333,'e':'233'}
Run Code Online (Sandbox Code Playgroud)

现在我想将它恢复为一对一的字典,以便我们可以做到这一点.

我尝试过的:

In [67]: ivd=[(v,k) for (k,v) in a.items()]

In [68]: ivd
Out[68]: [(122, 'a'), (123, 'b'), ('233', 'e'), (333, 'd')]
Run Code Online (Sandbox Code Playgroud)

现在可能是我们可以将其ivd转换为字典的方式.我的问题是

  1. 如何将其更改ivd为字典?
  2. 有没有更多的pythonic解决方案可以做到这一点?我认为应该在那里.

python dictionary

2
推荐指数
1
解决办法
129
查看次数

你将如何创建一个带有整数键和值为 0 的字典?

你将如何在 python 中创建一个字典,它看起来有点像这样:

{1:0, 2:0, 3:0, 4:0, ...}
Run Code Online (Sandbox Code Playgroud)

对于特定的迭代次数?

python dictionary python-3.x

0
推荐指数
2
解决办法
84
查看次数

标签 统计

dictionary ×3

python ×3

python-3.x ×1

syntax ×1