python – TypeError:字符串索引必须是整数,而不是str //使用dict
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – TypeError:字符串索引必须是整数,而不是str //使用dict,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1562字,纯文字阅读大概需要3分钟。
内容图文
我正在尝试定义一个涉及(课程,人)的过程,该过程将课程结构和人员作为输入,并返回描述该人参与的所有课程的词典.
这是我参与的(课程,人)功能:
def involved(courses, person):
for time1 in courses:
for course in courses[time1]:
for info in time1[course]:
print info
这是我的字典:
courses = {
'feb2012': { 'cs101': {'name': 'Building a Search Engine',
'teacher': 'Dave',
'assistant': 'Peter C.'},
'cs373': {'name': 'Programming a Robotic Car',
'teacher': 'Sebastian',
'assistant': 'Andy'}},
'apr2012': { 'cs101': {'name': 'Building a Search Engine',
'teacher': 'Dave',
'assistant': 'Sarah'},
'cs212': {'name': 'The Design of Computer Programs',
'teacher': 'Peter N.',
'assistant': 'Andy',
'prereq': 'cs101'},
'cs253':
{'name': 'Web Application Engineering - Building a Blog',
'teacher': 'Steve',
'prereq': 'cs101'},
'cs262':
{'name': 'Programming Languages - Building a Web Browser',
'teacher': 'Wes',
'assistant': 'Peter C.',
'prereq': 'cs101'},
'cs373': {'name': 'Programming a Robotic Car',
'teacher': 'Sebastian'},
'cs387': {'name': 'Applied Cryptography',
'teacher': 'Dave'}},
'jan2044': { 'cs001': {'name': 'Building a Quantum Holodeck',
'teacher': 'Dorina'},
'cs003': {'name': 'Programming a Robotic Robotics Teacher',
'teacher': 'Jasper'},
}
}
当我试图测试我的代码时:
>>>print involved(courses, 'Dave')
Python给我一个错误:
for info in time1[course]:
TypeError: string indices must be integers, not str
我该如何解决这个问题?
谢谢.
解决方法:
time1是最外层词典的关键,例如feb2012.那么你试图索引字符串,但你只能用整数来做.我想你想要的是:
for info in courses[time1][course]:
当您浏览每个字典时,必须添加另一个字符串.
内容总结
以上是互联网集市为您收集整理的python – TypeError:字符串索引必须是整数,而不是str //使用dict全部内容,希望文章能够帮你解决python – TypeError:字符串索引必须是整数,而不是str //使用dict所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。