擅长:python、mysql、java
<p>可以将<code>iter</code>与<code>next</code>一起使用:</p>
<pre><code>listA = ['a1', 'a2', 'a3', 'a4']
listB = ['b2', 'b4']
l = iter(listB)
listC = [(a, next(l) if i%2 != 0 else None) for i, a in enumerate(listA)]
</code></pre>
<p>输出:</p>
<pre><code>[('a1', None), ('a2', 'b2'), ('a3', None), ('a4', 'b4')]
</code></pre>
<p>编辑:按尾随数字配对:</p>
<pre><code>import re
listA = ['a1', 'a2', 'a3', 'a4']
listB = ['b2', 'b4']
d = {re.findall('\d+$', b)[0]:b for b in listB}
listC = [(i, d.get(re.findall('\d+$', i)[0])) for i in listA]
</code></pre>
<p>输出:</p>
<pre><code>[('a1', None), ('a2', 'b2'), ('a3', None), ('a4', 'b4')]
</code></pre>