python字典与字符串
解析字符串str0,完成下列操作。str0 = "{'dict0':{'k0': 2, 'k1': 3, 'k2': 8, 'k3': 0}, 'dict1':{'k0': 6, 'k1': 3, 'k2': 2, 'k3': 3, 'k4': 9, 'k5': 7}}"
1. 以嵌套字典的形式将str0存入一个字典中
2. 读取分别读取子字典的value作为集合的元素,如set0 = (2, 3, 8, 0}
3. 集合运算:获取只在一个集合中出现的元素, 并输出这个结果
str0 = "{'dict0':{'k0': 2, 'k1': 3, 'k2': 8, 'k3': 0}, 'dict1':{'k0': 6, 'k1': 3, 'k2': 2, 'k3': 3, 'k4': 9, 'k5': 7}}"
a=eval(str0) #a={'dict0': {'k0': 2, 'k1': 3, 'k2': 8, 'k3': 0}, 'dict1': {'k0': 6, 'k1': 3, 'k2': 2, 'k3': 3, 'k4': 9, 'k5': 7}}
dict0=a['dict0']
dict1=a['dict1']
set0=set(value for value in dict0.values()) #把dict0中的值转变成集合
set1=set(value for value in dict1.values())
result=set0 ^ set1 # s ^ t 对称差分操作:s "或" t 中的元素,但不是 s 和 t 共有的元素
print(result)
本帖最后由 jackz007 于 2020-12-30 02:25 编辑
str0 = "{'dict0':{'k0': 2, 'k1': 3, 'k2': 8, 'k3': 0}, 'dict1':{'k0': 6, 'k1': 3, 'k2': 2, 'k3': 3, 'k4': 9, 'k5': 7}}"
d = eval(str0)
set0 = set(tuple(d . items()) . values())
set1 = set(tuple(d . items()) . values())
print('set0 =', set0)
print('set1 =', set1)
c = set0 . symmetric_difference(set1)
print('setc =' , c)
页:
[1]