擅长:python、mysql、java
<p>如果你想要一个荒谬的单行线,你可以使用嵌套的三元表达式。在</p>
<pre><code>In [4]: keys = [2, 1, 1, 3, 0, 2]
In [5]: result = [
...: [1,0,0,0] if key == 1 else
...: [0,1,0,0] if key == 2 else
...: [0,0,1,0] if key == 3 else
...: [0,0,0,1]
...: for key in keys
...: ]
In [6]: result
Out[6]:
[[0, 1, 0, 0],
[1, 0, 0, 0],
[1, 0, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1],
[0, 1, 0, 0]]
</code></pre>
<p>但是,最好将逻辑包装在函数中,并在列表理解中调用该函数:</p>
^{pr2}$
<p>在本例中,<code>dict</code>也很好地工作,如其他答案所示。一般来说,不要试图把一堆东西塞进一个单子里去理解。在</p>