如何从dicts列表中获取所有唯一ID?

Ora*_*Box 0 python

假设你有一个像这样的dicts列表 {'id': 1, 'other_value':5}

也许吧;

items = [{'id': 1, 'other_value':5}, {'id': 1, 'other_value2':6}, {'id': 2, 'other_value':4}, {'id': 2, 'other_value2':3}]
Run Code Online (Sandbox Code Playgroud)

现在,您可以假设这是数据的一小部分.可能有数千人.这个结构也没有由我指定,它是给我的.

如果我只想获取ID,我可以这样做:

ids = [i[id] for i in items]
Run Code Online (Sandbox Code Playgroud)

但是,您会注意到原始数据中存在重复的ID.所以问题是; 你怎么能整齐地得到唯一的身份证?

我希望有类似的东西:

ids = [i[id] for i in items if not in LIST]
Run Code Online (Sandbox Code Playgroud)

但据我所知,没有办法访问生成器中的列表.

当然,我可以做一个for循环,并轻松地这样做.我只是想知道是否有更简洁的方法来做到这一点.

Mar*_*o F 6

如果你想要唯一的id,你可以使用一套:

set(i['id'] for i in items)
Run Code Online (Sandbox Code Playgroud)