dict={'a':{'b':2,'c':3}},执行以下代码dict['a'].get['b',0]后能否读出键值对'b':2的值
时间: 2023-09-18 21:06:52 浏览: 15
不能。代码dict['a'].get['b',0]存在语法错误,应该改为dict['a'].get('b',0)。
在该代码中,get()方法中的第一个参数是要获取的键名,第二个参数是在字典中找不到该键名时返回的默认值。因此,dict['a'].get('b',0)中的第一个参数'b'是要获取的键名,而第二个参数0是在子字典中找不到键'b'时返回的默认值。由于子字典中存在键名'b',因此该方法会返回键'b'对应的值2,而不是默认值0。
因此,该代码能读出键值对'b':2的值。
相关问题
修改该代码import openpyxl from openpyxl import Workbook fn = r'D:\Python Homework\实践2素材.xlsx' wb = openpyxl.load_workbook(fn) ws = wb.active actor_dict = dict() for i, b in enumerate(ws): if i == 0: continue filmName, actor = b[0].value, b[2].value.split('\n') for a in actor: actor_dict[a] = actor_dict.get(a,set()) actor_dict[a].add(filmName) actor_lict = sorted(actor_dict.items(), key=lambda x: str(x[0][2:])) actor_dict = dict(actor_dict) print("演员所参演的电影字典:{}".format(actor_dict))
代码中有一个小错误,actor_lict 应该是 actor_dict,下面是修改后的代码:
```python
import openpyxl
from openpyxl import Workbook
fn = r'D:\Python Homework\实践2素材.xlsx'
wb = openpyxl.load_workbook(fn)
ws = wb.active
actor_dict = dict()
for i, b in enumerate(ws):
if i == 0:
continue
filmName, actor = b[0].value, b[2].value.split('\n')
for a in actor:
actor_dict[a] = actor_dict.get(a,set())
actor_dict[a].add(filmName)
actor_dict = dict(sorted(actor_dict.items(), key=lambda x: str(x[0][2:])))
print("演员所参演的电影字典:{}".format(actor_dict))
```
这段代码的功能是读取一个 Excel 文件,将演员和电影之间的关系存储在一个字典中,最后按照演员名字的首字母排序输出。
dict={'a':{'b':2,'c':3}},执行以下代码后能读出键值对'b':2的值的操作是()[测3] A. >>>dict['a']('b') B. >>>dict.get('b') C. >>>dict['a'].get['b',0] D. >>>dict.get('a',3).get('b') E. >>>dict['a'].get('c',2) F. >>>dict['a'].get('b',5) G. >>>dict.get('b',2) H. >>>dict.get('b',2)
执行以下代码后能读出键值对'b':2的值的操作是F. >>>dict['a'].get('b',5)。根据题目中给出的字典,键'a'对应的值是一个字典{'b':2, 'c':3}。要读取键值对'b':2的值,可以先使用'['运算符获取键'a'对应的值,然后再使用'.get()'方法获取键'b'对应的值。因为键'b'在字典中存在,所以该方法会返回键'b'对应的值2。如果键'b'在字典中不存在,该方法会返回默认值,默认值为5,因此选项F是正确的。选项A中的括号应该改为方括号,而且没有获取'b'对应的值;选项B中的参数'b'不是字典的键,因此返回None;选项C中的'.get[]'语法错误,应该改为'.get()'方法;选项D中的默认值3与要查找的键'b'对应的值不相符;选项E中的默认值2与要查找的键'b'对应的值不相符;选项G中的参数'b'不是字典的键,因此返回默认值2;选项H中的参数'b'不是字典的键,因此返回默认值2。因此,正确答案是F。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)