【发布时间】:2022-11-02 22:07:29
【问题描述】:
我有一个字典 disease_dict ,其中包含列表元素中的值。我想获取特定键的键和值,然后检查该值(作为子字符串)是否存在于其他键中并获取所有键 --> 值对。
例如,这是字典。我想看看字典中是否存在'Stroke'或'stroke',然后匹配这个键的值是否是其他值的子字符串(如'C10.228.140.300.775'存在于'C10.228.140.300.275' .800', 'C10.228.140.300.775.600')
'Stroke': ['C10.228.140.300.775', 'C14.907.253.855'], 'Stroke, Lacunar': ['C10.228.140.300.275.800', 'C10.228.140.300.775.600', 'C14.907.253.329.800', 'C14.907.253.855.600']
我有以下代码行用于获取特定术语的键和值。
#extract all child terms
for k, v in dis_dict.items():
if (k in ['Glaucoma', 'Stroke']) or (k in ['glaucoma', 'stroke']):
disease = k
tree_id = v
print (disease, tree_id)
else:
disease = ''
tree_id = ''
continue
非常感谢任何帮助!
【问题讨论】:
-
“存在”是什么意思? 'C10.228.140.300.775' 和 'C10.228.140.300.275.800' 不相等,你认为什么匹配?
-
我的意思是它是另一个值的子字符串。
-
C10已经匹配了吗? C10 之后有多少项。必须相等才能被视为与另一个值匹配?
-
它应该是完全匹配的('C10.228.140.300.775')。
-
例如,'1' 将是存在于大多数其他值中的有效子字符串,但这不是您想要得到的......所以有多少 C10.228。 ...条款必须被视为匹配?
标签: python pandas dictionary substring