擅长:python、mysql、java
<p>复杂的一行,只是为了好玩;)
没有关于模式的假设</p>
<pre><code>[filter(lambda a : b in a, A).__next__() if any(b in a for a in A) else b for b in B]
['dataFile2000', 'dataFile1999', '1998', '2005', 'dataFile2002', '2005']
</code></pre>
<p>或者没有<code>filter</code></p>
<pre><code>[[a for a in A if b in a][0] if any(b in a for a in A) else b for b in B]
['dataFile2000', 'dataFile1999', '1998', '2005', 'dataFile2002', '2005']
</code></pre>
<p>这将是一个等效的扩展代码:</p>
<pre><code>l=list()
for b in B:
if any(b in a for a in A):
for a in A:
if b in a:
l.append(a)
else:
l.append(b)
print(l)
</code></pre>
<p>这是一个更有效的版本:</p>
<pre><code>l=list()
for b in B:
this_element = b
for a in A:
if b in a:
this_element = a
break
l.append(this_element)
print(l)
</code></pre>