<p>我有两份清单:</p>
<pre><code>A = ['PA', 'AT', 'TR']
removlistv = ['TR', 'AI', 'IO', 'SO', 'CR', 'PH', 'RT']
</code></pre>
<p>我找到了两个列表的交叉点:</p>
<pre><code>rm_nodes = set(A) & set(removelistv)
</code></pre>
<p>它创建集合<code>{'TR'}</code>。现在我想在列表<code>removelistv</code>中找到该交叉点(或多个交叉点)的索引:</p>
<pre><code>indices = [removelistv.index(x) for x in rm_nodes]
</code></pre>
<p>到目前为止,很好,<code>indices</code>包含正确的值。
当我想使用索引值(在本例中是<code>[0]</code>即列表)检索第三个列表<code>removelistst = ['TR0', 'AI1', 'IO1', 'SO0', 'CR1', 'PH0', 'RT1']</code>中的匹配项时,问题就开始了。我的目标是从<code>removelistst</code>中删除<code>'TR0'</code>项。基本上,我想根据开始时两个列表的交集的输出从这个列表中删除项目</p>
<p>我尝试了以下方法:</p>
<pre><code>numbers =[ int(x) for x in indices ]
removelistst[numbers]
</code></pre>
<p>返回错误:</p>
<pre><code>TypeError: list indices must be integers or slices, not list
</code></pre>