【问题标题】:TypeError: 'int' object is not subscriptable Can't figure this outTypeError: 'int' object is not subscriptable 无法弄清楚
【发布时间】:2016-12-02 08:02:34
【问题描述】:

我尝试编写一些代码,但是当我运行它时,它返回错误“TypeError: 'int' object is not subscriptable”:

这是代码行:

if data[key][0] == b[0] and data[key][1] == b[1]:

'data' 是一个字典,'key' 是键,'0' 是值(在'and' 之前)

我只需要知道为什么会发生这种情况以及如何解决它。谢谢:)

代码示例

data = {
'a' : ['1','1'],
'b' : ['1','2'],
'c' : ['1','3'],
'd' : ['1','4'],
'e' : ['1','5'],
'f' : ['2','1'],
'g' : ['2','2'],
'h' : ['2','3'],
'i' : ['2','4'],
'j' : ['2','4'],
'k' : ['2','5'],
'l' : ['3','1'],
'm' : ['3','2'],
'n' : ['3','3'],
'o' : ['3','4'],
'p' : ['3','5'],
'q' : ['4','1'],
'r' : ['4','2'],
's' : ['4','3'],
't' : ['4','4'],
'u' : ['4','5'],
'v' : ['5','1'],
'w' : ['5','2'],
'x' : ['5','3'],
'y' : ['5','4'],
'z' : ['5','5']
}


total = '21333534313511424214'
count = 0 
b = []
finalOuput = []
for number in total:
    if count == 2:
        for number in b:
            for key in data:
                if data[key][0] == b[0] and data[key][1] == b[1]:
                    finalOutput.append(b[0])
                    finalOutput.append(b[1])
                    count = 0
                    b = 0
                    total.replace(number,'')
                else:
                    continue
    else:
        b.append(number)
        count += 1
        continue

【问题讨论】:

  • 您可能应该在您使用的任何调试器中查看data['key']b 的值...
  • data[key] 是一个整数,或者b 是一个整数。
  • '0' 是值 我想你可能会感到困惑。 x[0] 表示 x 是一个序列(例如列表或元组),并且您要求的是该序列中的第一个值。 0 不表示文字值...
  • type(data)type(b) 的输出是什么?
  • b = 0 您正在用单个整数替换原始列表 b

标签: python typeerror


【解决方案1】:

您已将 blist 重新定义为 int,因此无法对其进行索引。

您的代码的相关摘录:

if data[key][0] == b[0] and data[key][1] == b[1]:
    finalOuput.append(b[0])
    finalOutput.append(b[1])
    count = 0

    ## b has been redefined as 0 hence `b[0]` causes error ##
    b = 0     

    total.replace(number,'')
else:
    continue

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 2022-08-13
    相关资源
    最近更新 更多