python - 关于嵌套在字典中的列表的这两段代码有什么区别?
问题描述
我正在通过阅读“Python Crash Course”一书来学习 Python,所以我还是个初学者,我想知道的是这两段代码之间的区别,因为它们对我来说似乎是一样的,但给出的结果却不同。
names={
'first' : ['john','mike'],
}
for name in names.keys():
print(name[1])
这给出了结果'i'。
names={
'first' : ['john','mike'],
}
for name in names.keys():
print(names[name][1])
这给出了我的预期结果;'麦克风'。任何帮助,将不胜感激。
解决方案
试着理解这个例子:
>>> names = {'first': ['john', 'mike']}
>>> for key in names.keys():
... print(f'Current key is "{key}"')
... print(f'Second element of "{key}" is "{key[1]}"')
... print(f'Value of key "{key}" is "{names[key]}"')
... print(f'Second element of "{names[key]}" is "{names[key][1]}"')
...
Current key is "first"
Second element of "first" is "i"
Value of key "first" is "['john', 'mike']"
Second element of "['john', 'mike']" is "mike"
推荐阅读
- webpack - 运行“webpack”而不是“node_modules/.bin/webpack”
- javascript - Javascript 元素在视口中可见,没有边距
- mysql - 如何在带有limit关键字的sql查询中使用多个order by?
- java - 使用 getHttpResponse 将 Activity 转为 Fragment
- php - 无法从我的网站接收来自申请表的邮件
- c++ - 使用 lua coroutine api 和 lua_close 时出现分段错误
- typescript - 解构对象中剩余数组的类型
- javascript - 使用 React 在 Twitter 中发送消息
- domain-driven-design - 如何在 Cqrs 架构中实现基础设施服务?
- javascript - 如何从 javascript/typescript 模块文件(导入/导出)访问 Vuex 商店?