如何在python中的for循环范围内使用所有数字?

时间:2018-10-12 07:18:33

标签: python for-loop range geo tweets

我正在尝试打印一组推文的位置。 它是包含十个词典的列表。我希望显示所有十个位置。当我使用范围时,它仅取一个值。 tweets是包含十个字典的列表。 statuses是键,geo是具有鸣叫坐标的对象。

for j in range (0,9):
    st1 = tweets[j]['statuses'][j]['geo']
print(j,st1)

3 个答案:

答案 0 :(得分:2)

如果您有一个包含您要描述的结构的10个字典的列表,

for i,d in enumerate(tweets):
    print(i, d['statuses']['geo']

答案 1 :(得分:1)

您的打印语句不在for循环中。您必须这样写:

for j in range (0,9):
    st1 = tweets[j]['statuses'][j]['geo']
    print(j,st1)

更新: 我认为您想显示所有推文和所有状态。在这种情况下,您必须使用嵌套的for循环,例如:

for j in range(0, 9):
    for i in range(len(tweets[j]['statuses'])):
        st1 = tweets[j]['statuses'][i]['geo']
        print(j, i, st1)

经过一些优化后,它看起来像(如果不需要索引):

for tweet in tweets:
    for status in tweet['statuses']:
        st1 = status['geo']
        print(st1)

答案 2 :(得分:0)

缩进是错误的。

for j in range (0,10):
   st1 = tweets[j]['statuses'][j]['geo']
   print(j,st1)

此问题已解决。