Python报错TypeError: 'set' object is not subscriptable

本文解析了Python初学者在迭代输出列表时常见的一个Bug,即将列表错误地创建为集合对象,导致TypeError异常。通过对比错误与正确的代码案例,帮助读者理解如何避免此类错误。
该文章已生成可运行项目,

在学习Pthyon阶段,在迭代输出列表的时候,创建成了集合对象,出现了这个BUG(在创建对象时,将()写成了{})
以下是错误案例:

#创建的集合
names = {"你大爷","你二大爷","你三大爷"}
ages = {18,19,20,21}
jobs = {"老师","程序员","打酱油的"}

for i in range(3):
    print("姓名:{0},年龄:{1},工作:{2}".format(names[i],ages[i],jobs[i]))  
#TypeError: 'set' object is not subscriptable  
#表示把不具有下标操作的集合对象用成了对象[i]

以下是正确案例:

names1 = ("你大爷","你二大爷","你三大爷")
ages1 = (18,19,20,21)
jobs1 = ("老师","程序员","打酱油的")

for i in range(3):
    print("姓名:{0},年龄:{1},工作:{2}".format(names1[i],ages1[i],jobs1[i]))

新手上路,请多指教~

本文章已经生成可运行项目
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值