为列表变量赋值失败

嗨,
下面的代码可以工作:

选择 | 换行 | 行号
  1. newList = ['aa', 'bb', 'cc', 'dd']
  2. newList[2] = 'zz'
  3. print newList
  4. ['aa', 'bb', 'zz', 'dd']
  5.  

但以下代码显示错误-

选择 | 换行 | 行号
  1. myDBRow = [''] * len(columnList)
  2. myDBRow[DB.RegionCode] = 'ABC'
  3. TypeError: 'str' object does not support item assignment
  4.  

你能在这里推荐一些东西吗?
谢谢。

# 回答1


该错误指示myDBRow是一个字符串。您的代码看起来是正确的,如下例所示:

选择 | 换行 | 行号
  1. >>> myDBRow = [''] * 6
  2. >>> myDBRow
  3. ['', '', '', '', '', '']
  4. >>> myDBRow[3]="ABC"
  5. >>> myDBRow
  6. ['', '', '', 'ABC', '', '']

您的错误可以通过以下示例重现:

选择 | 换行 | 行号
  1. >>> myDBRow = "*" * 6
  2. >>> myDBRow[3]="ABC"
  3. Traceback (most recent call last):
  4.   File "<interactive input>", line 1, in <module>
  5. TypeError: 'str' object does not support item assignment
  6. >>> 

发生了一些在您的代码中不明显的事情。

# 回答2


首先要检查的是,"myDBRow"在其他地方用作单独的变量名。搜索一下这个名字,看看它是否在其他地方使用。
# 回答3


嗨,
是的,你是对的。
我的错误,我不小心在某个地方把它变成了字符串,这就是这个错误的原因。
很抱歉给您添麻烦了。
感谢您的回复。
谢谢。

标签: python

添加新评论