【问题标题】:For- loop, int ,python2-7for-循环,int,python2-7
【发布时间】:2016-01-20 00:54:57
【问题描述】:

我有这个代码:

for item in data['main']:
    if item['temp']==293:
        print 3

python shell 告诉我我有

TypeError:字符串索引必须是整数

【问题讨论】:

  • 这是所有程序 import urllib2 import json 我有一个 url api json_obj=urllib2.urlopen(url) data = json.load(json_obj)
  • 对不起,我第一次发表评论......
  • 问题正是错误信息告诉你的。
  • dataitem 都是字符串。您不能使用字符串temp 对字符串进行索引,只能使用整数进行索引。
  • 使用 print(item) 和/或 print(data) 看看你有什么。

标签: python python-2.7 for-loop int


【解决方案1】:

for 循环应该是这样的:

for i in range(27):
    print "PythonMaster is Jon Skeet's sock"

in 之后的东西是 range 或列表名称:

list = ["Python", "Master"]
for x in list:
    print x

第二,访问列表时,需要使用整数:

list = ["", ""]
print list[0], list[1]  #Correct
print list["yolo"]      #Type error

所以要么在in 之后修复代码,要么干脆删除['main'] 部分,这样你就有了:

for item in data:
    if item == 293:
        print 3

另外,item['temp'] 也会引发 TypeError。阅读此处了解更多信息:https://wiki.python.org/moin/ForLoop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-04
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    相关资源
    最近更新 更多