私は2つの値を持っています:starid1、starid2、およびstarlistと呼ばれるリスト、id starid1とstarid2を含むスターリストから2つのオブジェクトをピックアップしたいのですが、リストに重複したidはありません。
これが私がコードを書く方法です
star1,star2=None,None
for x in starlist:
if x.id == starid1:
star1 = x
elif x.id == starid2:
star2 = x
これが別の方法です
star1 = [x for x in starlist if x.id==starid1][0]
star2 = [x for x in starlist if x.id==starid2][0]
または、辞書に変換して2つのオブジェクトを選択することもできますが、2つの値のみを割り当てたいので、コストが高すぎると思いました。
私がそれらのコードを書き留めたとき、私はとても愚かでした。私はちょうどPythonでそれを行うための適切な方法を逃したと思います。あなたがそれをより良くするためにどのように知っているか教えてください。