擅长:python、mysql、java
<p>如果列表<code>x</code>中的键/值项间距相等,下面是构建字典的另一种方法。它使用了Python的一些内置特性和功能:</p>
<pre><code>>>> keys = x[::3]
>>> values = [map(int, pair) for pair in zip(x[1::3], x[2::3])]
>>> dict(zip(keys, values))
{'a': [3, 4], 'b': [1, 2], 'c': [4, 5]}
</code></pre>
<p>要解释这里使用的是什么:</p>
<ul>
<li>从<code>x</code>创建新列表的列表切片:<code>x[start:stop:step]</code></li>
<li>这里<code>zip</code>获取两个列表,并生成一个包含每个列表第n个元素的元组列表</li>
<li><code>map(int, pair)</code>将数字字符串的元组转换为整数列表</li>
<li><code>values</code>是用列表理解构造的,对每一对都应用{<cd7>}函数</li>
<li><code>dict</code>将对列表转换为字典键/值</li>
</ul>