python在线答疑平台

在循环中我怎么判断列表里新生成的子字典的值是否与已经存在的字典里的值重复?怎么表示在列表子字典中的值?

可通过以下方法进行判断:

dic={'a':'foo','b':'bar','c':'baz'}
ch=[{'x':'foobaz','y':'baz'},{'t':'foo','s':'baz'},{'m':'bo','n':'fo'}]
for d in ch:
    a=set(dic.values()) & set(d.values())
    if a:        
        print(f'新字典{d}中有值与原字典重复,重复的值为{a}')
    else:
        print(f'新字典{d}中没有值与原字典重复')

若取列表中字典值,先取列表中索引,再用对应的键名取值,比如获取例子中'y‘的值,可用:
ch[0]['y']

如有帮助,望采纳。

是否可以把需求说详细一点,一般来说判断重复,都是通过循环判断是否存在了。