人の名前と日付のリストを持っていて、一人ひとりの最も早い日付のエントリだけを保持したいのですが、どうすればいいですか?私は、最後のリストを姓とアルファベット順にアルファベット順に並べて、最後に日付が最も古いエントリのみを含むようにします。リストの中で最も早いものを選択する
ここではリストの例と試したことがありますが、同じリストをもう一度返しました。最終製品がどのように見えるはずです
L1=['Smith, John, 1994', 'Smith, John, 1996', 'Smith, John, 1998', 'Smith, Joan, 1993', 'Smith, Joan, 1995', 'Smith, Jack, 1989', 'Smith, Jack, 1991', 'Jones, Adam, 2000', 'Jones, Adam, 1998', 'Jones, Sarah, 2002', 'Jones, Sarah, 2005', 'Brady, Tom, 2001', 'Brady, Tonya, 2002']
L1.sort()
L2= []
for item in L1:
if item.split(',')[:2] not in L2:
L2.append(item)
:
L2=['Brady, Tom, 2001', 'Brady, Tonya, 2002', 'Jones, Adam, 1998', 'Jones, Sarah, 2002', 'Smith, Jack, 1989', 'Smith, Joan, 1993', 'Smith, John, 1994']
すべてのヘルプや洞察力をいただければ幸いです!
'sorted()'を追加すると完璧になります – eumiro
これは、itertoolsが定義されていないというエラーが表示されていますか? – marsx
@marsx:明示的にそう言っていませんでしたが、その後、あなたは 'itertools'をインポートする必要があります:) –