Pythonを新しくMatlabから来て、配列とは対照的にリストを使用するのに慣れています。 2つのリストがあります。各行の項目が2番目の要素と一致する場合は、最初から3番目の項目を作成しようとしています。基本的に、私は最初のリストの最初の行の項目を2番目のリストの項目と比較して新しいリストを作成します。
list1 = [['name1',height1,length1],['name2',height2,length2]...['name9',height9,length9]
list2 = ['name1','name9']
list3 = []
を持って、私はlist2の中の項目に一致する最初の項目を持つリスト1の行が含まれますLIST3をしたい
for row in list1
if first element (namex) in row is in list2
append row to list 3
のような何かをしたいました。
list3 = [['name1',height1,lenght1],['name9',height9,length9]]
私はこれを行うための2種類の方法を試してみたが、空白LIST3の両方の結果:
list3 = [item for item in list1 if item[0] in list2]
と
for rows in list1:
if list1[0] in list2:
list3.append(rows)
は、リストが同じでインデックスを作成することができないことを知ってどのようにして同様の機能を得ることができますか?
ご希望の出力は何ですか? –
投稿したコードに何が間違っていますか?リストの理解はあなたの期待される結果を生み出しますね。 –
@Rawingリスト3は、コード – ah21363