Python–提取相似键值
给定一个字典,提取所有来自相似关键字的值,即包含所有相似的字符,只是相互混杂形成。
输入 : test_dict = {'gfg' : 5,' ggf' : 19,' gffg' : 9,' gff' : 3,' fgg' : 3},tst_wrd = 'fgg' 输出:【5,19,3】 解释 : gfg,ggf,fgg 有值,5,19,3。
输入 : test_dict = {'gfg' : 5,' gffg' : 9,' gff' : 3,' fgg' : 3},tst_wrd = 'fgg' 输出:【5,3】 解释 : gfg 和 fgg 有值,5 和 3。
方法#1:使用排序的()+循环
在这种情况下,我们将排序后的关键字与目标关键字进行比较,将具有正确顺序的相似元素,并且可以检查是否相等。一旦匹配,就提取它们的值。
Python 3
# Python3 code to demonstrate working of
# Extract Similar Key Values
# Using loop + sorted()
# initializing dictionary
test_dict = {'gfg': 5, 'ggf': 19, 'gffg': 9, 'gff': 3, 'fgg': 3}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing word
tst_wrd = 'fgg'
res = []
for key, val in test_dict.items():
# sorted to get similar key order
if ''.join(list(sorted(key))) == tst_wrd:
res.append(val)
# printing result
print("The extracted keys : " + str(res))
输出:
原始字典为:{'gfg': 5,' ggf': 19,' gffg': 9,' gff': 3,' fgg': 3} 提取的键:[5,19,3]
方法 2:使用列表理解+排序()
在这种情况下,我们执行与上面类似的任务,只是使用速记使用 sorted() 和列表理解来执行。
Python 3
# Python3 code to demonstrate working of
# Extract Similar Key Values
# Using list comprehension + sorted()
# initializing dictionary
test_dict = {'gfg': 5, 'ggf': 19, 'gffg': 9, 'gff': 3, 'fgg': 3}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing word
tst_wrd = 'fgg'
# one-liner to solve this
res = [val for key, val in test_dict.items(
) if ''.join(list(sorted(key))) == tst_wrd]
# printing result
print("The extracted keys : " + str(res))
输出:
原始字典为:{'gfg': 5,' ggf': 19,' gffg': 9,' gff': 3,' fgg': 3} 提取的键:[5,19,3]
版权属于:月萌API www.moonapi.com,转载请注明出处