<p>我是python新手,来自Matlab,现在仍在调整使用列表而不是数组。我有两个列表,如果每行中的项目与第二行中的任何元素匹配,我将尝试用第一行中的项目创建第三个列表。基本上,我有</p>
<pre><code>list1 = [['name1',height1,length1],['name2',height2,length2]...['name9',height9,length9]
list2 = ['name1','name9']
list3 = []
</code></pre>
<p>想要像这样的东西</p>
<pre><code>for row in list1
if first element (namex) in row is in list2
append row to list 3
</code></pre>
<p>我想要一个list3,它将包含list1的行,这些行的第一个项与list2中的项匹配</p>
<pre><code>list3 = [['name1',height1,lenght1],['name9',height9,length9]]
</code></pre>
<p>我尝试了两种不同的方法,但都得到了一个空白列表3:</p>
<pre><code>list3 = [item for item in list1 if item[0] in list2]
</code></pre>
<p>以及</p>
<pre><code>for rows in list1:
if list1[0] in list2:
list3.append(rows)
</code></pre>
<p>知道列表不能像数组那样被索引,我怎么能在这里得到类似的功能呢</p>