2017-05-25 4 views
1

こんにちは、私はPythonには新しく、ダブルリストとリストに取り組んでいます。リストを使ってダブルリストの要素を表示する

doubleList = [['123', 'user1', 'its.zip', 1495212715.6226974], 
['123', 'user1', 'New Compressed (zipped) Folder.zip', 1495638517.22533], 
['123', 'user1', 'zippedtto.zip', 1495212754.2919347], 
['123', 'user2', 'Iam.zip', 1495212805.4040027], 
['acd', 'Letsee.zip', 1495478626.503554]] 

と、この単一のリスト:私はそれはその最後の値のListNumで数ある要素を含むように私の二重のリストを変更したい

ListNum = [1495638517.212533, 1495212805.4040027, 1495478626.503554] 

私は、この二重のリストを持っています。

この場合、私の出力は次のようになります。

output = 
[['123', 'user1', 'New Compressed (zipped) Folder.zip',1495638517.22533], 
['123', 'user2', 'Iam.zip', 1495212805.4040027], 
['acd', 'Letsee.zip', 1495478626.503554]] 

すべてのヘルプは高く評価されるだろう。 ありがとうございました!

+0

あなたは、1495638517.22533が1495638517.212533に等しいと仮定していますか?あなたのサンプルの作品について考えることができる唯一の方法は、そのタイプミスですか? –

+0

私の悪い。それはタイプミスです。ありがとう! – LearningEveryday

答えて

0

一つの簡単な方法は、以下のようになります。

ans = [l for l in doubleList if l[-1] in ListNum] 

-1インデックス最後を取得している:あなたはそれを達成するために、リストの内包表記を使用することができ

output = [] 
for element in doubleList: 
    if element[3] in ListNum: 
     output.append(element) 
0

これは次のように、私はそれをコーディングしますdoubleListから各リストの要素を取り出し、ListNumに含まれているかどうかを確認します。

ところで、ListNumの長さが大きいとかなり効率が悪くなります。あなたができることは、一定時間内に "イン"コールを行うためにセットを構築することです。 Pythonでは、それは簡単です:ListNumSet = set(ListNum)、重複を削除し、インデックス作成をサポートしていないことに注意してください。

関連する問題