Python新手运行代码报tuple不支持元素赋值错误如何解决?
错误产生原因
- 你代码中
states_in_india = "Maharashtra","Gujrat","Punjab"的赋值方式,默认生成的是*元组(tuple)*类型,Python中元组属于不可变序列,一旦创建就无法修改内部元素、也无法新增/删除元素。 - 你后续执行的修改第0位元素
states_in_india[0] = "Rajastan"、调用extend方法新增元素的操作,都属于对元组的修改操作,因此直接触发'tuple' object does not support item assignment类型错误。
修复方法
如果需要对序列做修改、新增操作,你需要将变量定义为*列表(list)*类型,同时修正列表方法的调用语法:
- 定义变量时用方括号包裹元素,将其声明为列表类型
- 单个新增元素用
append()方法,批量新增多个元素用extend()方法,注意方法调用是加括号传参数,不是直接赋值
修复后的可运行代码:
# 改为列表类型定义 states_in_india = ["Maharashtra","Gujrat","Punjab"] print(states_in_india) # 列表支持元素赋值修改 states_in_india[0] = "Rajastan" # 新增单个元素用append方法 states_in_india.append("Tamilnadu") # 如果要同时加多个元素可以用extend:states_in_india.extend(["Tamilnadu", "Kerala"]) print(states_in_india)
内容的提问来源于stack exchange,提问作者Vedant Rajput
相关产品推荐
相关产品推荐

