我有两个值:starid1、starid2 和一个名为 starlist 的列表,我想从包含 id starid1 和 starid2 的 starlist 中提取两个对象,并且列表中没有重复的 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]
或者我可以将其转换为字典并选择两个对象。但我认为成本太高,因为我只想分配两个值。
当我写下这些代码时,我感到很愚蠢。我想我只是错过了在 python 中执行此操作的正确方法。告诉我你怎么知道做得更好。