假设您有一个像{'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}]
现在,您可以假设这是数据的一小部分。可能有数千人。我也没有指定结构,它是给我的。
如果我只想获取ID,我可以这样做:
ids = [i[id] for i in items]
但是,您会注意到原始数据中存在重复的ID。所以问题是;你怎么能整齐地得到唯一的ID?
我希望有类似的东西:
ids = [i[id] for i in items if not in LIST]
但据我所知,没有办法访问生成器中的列表。
当然我可以做一个for循环,并且很容易就这样做。我只是想知道是否有更简洁的方法来做到这一点。
答案 0 :(得分:7)
如果你想要唯一的id,你可以使用一套:
set(i['id'] for i in items)
答案 1 :(得分:1)
set(i['id'] for i in items)
但您可能会考虑另一种数据结构,例如列表的字典:
items = {1: [5, 6], 2: [2, 4]}