<p>有一个类似的问题,张贴在其他线程,但我想有一个不同的输出
如何比较两个列表以保持匹配的子字符串</p>
<p>列表A的模式并不一致</p>
<pre><code>A = ['dataFile1999', 'dataFile::2000', 'Resultx2001', 'Filter2002']
B = ['2000', '1999', '1998', '2005', '2002','2005']
C = [x for x in A if any(b in x for b in B)]
print(C)
</code></pre>
<p>输出:</p>
<pre><code>['dataFile::2000', 'dataFile1999','Filter2002']
</code></pre>
<p>但我希望输出的顺序与子字符串列表B相同
此外,如果缺少任何字符串,则仍应将该字符串保留在列表中</p>
<pre><code>['dataFile::2000','dataFile1999','1998','2005','Filter2002','2005']
</code></pre>