Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python for循环语法_Python_Loops - Fatal编程技术网

Python for循环语法

Python for循环语法,python,loops,Python,Loops,我最近开始学习编码,我对python中的一些for循环语法有一个疑问。我一直在看codecademy上的nprapi模块(我意识到,这不是一个学习任何东西的好环境),而for循环的呈现方式让我感到困惑。有关部分: from urllib2 import urlopen from json import load url = "http://api.npr.org/query?apiKey=" key = "API_KEY" url += key url += "&numResults=

我最近开始学习编码,我对python中的一些for循环语法有一个疑问。我一直在看codecademy上的nprapi模块(我意识到,这不是一个学习任何东西的好环境),而for循环的呈现方式让我感到困惑。有关部分:

from urllib2 import urlopen
from json import load

url = "http://api.npr.org/query?apiKey="
key = "API_KEY"
url += key
url += "&numResults=3&format=json&id="
npr_id = raw_input("Which NPR ID do you want to query?")
url += npr_id



print url

response = urlopen(url)
json_obj = load(response)

for story in json_obj["list"]["story"]:
    print story["title"]["$text"] 
我对这个问题感到困惑

for story in json_obj["list"]["story"]:
    print story["title"]["$text"]

台词。它是某种嵌套列表吗

将json对象视为字典

方括号表示法是访问json对象的方式

基本上,
json_obj[“list”][“story”]
是一个包含一系列字典的嵌套字典,如果键名是
json_obj[“list”][“stories”]
,则更有意义

json_obj
有一个键“list”,而
json_obj[“list”]
的值有一个键“story”,每个故事都有一个“title”

这里有一个解析json的示例:

以下是基于编写方式的json对象的结构:

json_obj = {
    'list': {
        # this is the array that is being iterated
        'story': [
            {'title': {
                '$text': 'some title1'
                }
            },
            {'title': {
                '$text': 'some title2'
                }
            },
            {'title': {
                '$text': 'some title3'
                }
            },
        ],
    },
  }
因此循环的

for story in json_obj["list"]["story"]:
   # each iteration story become this
   # story = {'title': {'$text': 'some title2'}}
   print story["title"]["$text"] 
这类似于:

print json_obj['list']['story'][0]['title']['$text']
print json_obj['list']['story'][1]['title']['$text']
print json_obj['list']['story'][2]['title']['$text']