簡體   English   中英

TypeError:字符串索引必須是整數-Python

[英]TypeError: string indices must be integers - Python

我發現了一個“ TypError”,我不知道該如何解決了。 請幫忙。 如果可能的話,我將不勝感激。

我的代碼:

import json

input = '''{
  "text":"Sample data",
  "subjects":[
    {
      "id":"A",
      "quant":10
    },
    {
      "id":"B",
      "quant":9
    },
    {
      "id":"C",
      "quant":8
    },
    {
      "id":"D",
      "quant":7
    },
    {
      "id":"E",
      "quant":6
    }]}
'''

info = json.loads(input)

count = 0
total = 0
for item in info:
    value = item["subjects"][0]["quant"]
    value = int(value)
    total += value
    count += count

print 'Count: ', count    
print 'Sum: ', total

錯誤:

; 出口; {u'text':u'Sample data',u'subjects':[{u'quant':10,u'id':u'A'},{u'quant':9,u'id': u'B'},{u'quant':8,u'id':u'C'},{u'quant':7,u'id':u'D'},{u'quant': 6,u'id':u'E'}]}追溯(最近一次通話最近):文件“ /Users/macme/Documents/Python/test_Json.py”,第61行,其值= item [“ subjects”] [0] [“ quant”] TypeError:字符串索引必須為整數注銷正在保存會話...正在復制共享歷史記錄...正在保存歷史記錄...截斷歷史記錄文件...已完成。

[處理完成]

info是一個字典,但您要像列表一樣對其進行迭代。 我認為您想迭代info['subjects']

for item in info['subjects']:
  value = int(item['quant'])

您的for循環無法正常工作。

for item in info字典的鍵上循環,即在“文本”和“主題”上循環。 然后,您嘗試使用另一個字符串將這些字符串編入索引,這肯定會失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM