SilverCrow 发表于 2020-12-30 00:26:30

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. 集合运算:获取只在一个集合中出现的元素, 并输出这个结果

洋洋痒 发表于 2020-12-30 01:25:43

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 01:37:06

本帖最后由 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]
查看完整版本: python字典与字符串