python 列表字典如何查找重复值

#有如下列表
A = [{"id": 1, "city": "北京"}, {"id": 2, "city": "上海"}, {"id": 3, "city":"广州"}, {"id": 4, "city": "北京"}]

# 根据 city中重复的值 返回id

city=[i['city'] for i in A]
count={i:city.count(i) for i in city}
res={}
for i,j in count.items():
    if j>1:
        temp=[k['id'] for k in A if k['city']==i]
        res[i]=temp
print(res)

输出:

{'北京': [1, 4]}