擅长:python、mysql、java
<p>一个罕见的<a href="https://docs.python.org/3/library/itertools.html#itertools.compress" rel="nofollow noreferrer">^{<cd1>}</a>用例:</p>
<pre><code>idx = get_index(...) # Get index to check by whatever means
for x in itertools.compress(list_b, (idx == i for i in list_a)):
print(x)
</code></pre>
<p><code>compress</code>接受一个iterable值和一个iterable“truthy或falsy”值,当第二个iterable提供truthy成对值时,返回第一个iterable的项。因此在本例中,我们需要来自<code>list_b</code>的项,当<code>list_a</code>中的值与提供的索引匹配时,我们使用生成器表达式动态计算索引。你知道吗</p>
<p>请注意,对于重复查找,<code>dict</code>是更好的选择。简单使用:</p>
<pre><code>lookup = {1: ['good', 'bad'], 2: ['worst', 'cheap'], 4: ['waste'], 5: ['waste1']}
</code></pre>
<p>将允许您根据需要有效地执行<code>for x in lookup[idx]: print(x)</code>(可能会捕获<code>KeyError</code>,以便在密钥不存在时忽略大小写,或者生成更友好的错误消息)。你知道吗</p>