Python报错:预期类型为'SupportsIndex | slice',传入'str'如何解决?
问题解决:Python列表语法错误
你的代码触发语法错误,核心原因是每个协议名称与其对应的解释列表之间缺少逗号分隔,同时外层存在不必要的冗余列表嵌套。
错误点说明
- 类似
'TCP'['Transmission Control Protocol']的写法中,字符串'TCP'后直接跟索引操作,Python会尝试将'Transmission Control Protocol'当作索引访问字符串,这完全不符合语法规则,必须用逗号分隔两个列表元素 - 原代码外层多套了一层列表,属于无意义的嵌套
修正后的代码
protocols = [ ['TCP', ['Transmission Control Protocol']], ['UDP', ["User Protocol"]], ['HTTP', ["Hypertext Transfer Protocol"]], ['HTTPS', ["Hypertext Transfer Protocol Secure"]] ] print(protocols)
更优写法(推荐)
如果你的需求是存储协议名与对应解释的映射关系,使用字典会比嵌套列表更直观:
protocols = { 'TCP': 'Transmission Control Protocol', 'UDP': 'User Protocol', 'HTTP': 'Hypertext Transfer Protocol', 'HTTPS': 'Hypertext Transfer Protocol Secure' } print(protocols)
内容的提问来源于stack exchange,提问作者Aceloner
相关产品推荐
相关产品推荐

