相关疑难解决方法(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万
查看次数

神秘的for循环在python中

exp = [1,2,3,4,5]

如果我然后执行x in exp,它会给我False.但是如果我执行:

for x in exp:
    if x==3:
        print('True')
Run Code Online (Sandbox Code Playgroud)

然后执行x in exp,它返回True.这里发生了什么事?我没有给x分配任何东西.我有吗?我真的很困惑.

**编辑:**对不起,如果我之前没有说过:x之前没有定义.

回答

谢谢大家.我现在明白了.的元素exp被分配给x作为exp被遍历.并且在最后一行代码中x in exp等于True,因为最后一个元素已被分配给x.

python membership for-loop contains sequence

4
推荐指数
2
解决办法
1127
查看次数

标签 统计

python ×2

contains ×1

dictionary ×1

for-loop ×1

membership ×1

sequence ×1

syntax ×1