<p>在此语法中,<code>{}</code>表示字典,而<code>[]</code>表示列表或数组。在</p>
<p>首先是一个<code>{</code>,因此外部数据项是一个字典。主键似乎是<code>"playerStatSummaries"</code>,所以让我们直接访问它:</p>
<pre><code>data['playerStatSummaries']
</code></pre>
<p>现在,playerStatSummaries是一个项目的列表/数组,所以我们要么迭代它,要么在其中使用一个索引号。您已经说过编号/顺序不同,所以我们将对列表进行迭代。在</p>
^{pr2}$
<p>这将使用<a href="https://docs.python.org/3.5/tutorial/datastructures.html#list-comprehensions" rel="nofollow"><em>list comprehension</em></a>创建一个新列表,该列表只包含与数据结构中列表相同的元素。但我们可以走得更远!在</p>
<p>每个<code>summ</code>项本身就是一个字典,其键类似于<code>'wins': 44</code>或{<cd7>}。因此,我们可以使用列表理解的<code>if clause</code>功能筛选出您想要的项目:</p>
<pre><code>stats = [summ for summ in data['playerStatSummaries'] if summ['wins'] == 44]
</code></pre>
<p>或者可能是更好的方法:</p>
<pre><code>stats = [summ for summ in data['playerStatSummaries'] if summ['playerStatSummaryType'] == 'RankedSolo5x5']
</code></pre>
<p>现在您将有一个包含44个wins的所有元素的列表,或者类型是<code>RankedSolo5x5</code>。在</p>
<p>很可能只有一个元素。您可以保留列表,并按如下方式访问它:</p>
<pre><code>wins = stats[0]['wins']
</code></pre>
<p>或者你可以在理解的时候抓住第0个元素:</p>
<pre><code>stat = [summ for summ in ... 'RankedSolo5x5'][0]
wins = stats['wins']
</code></pre>