Python – 测试字典值列表中的第 K 个索引
有时,在使用Python字典时,我们可能会遇到一个问题,我们需要测试是否通过字典,字典中所有值的第 k 个索引等于 N。这种问题可能发生在 Web 开发领域。让我们讨论一些可以解决这个问题的方法。
Input : test_dict = {‘Gfg’ : [10, 4, 8, 17], ‘best’ : [90, 4]}
Output : True
Input : test_dict = {‘Gfg’ : [10, 7]}
Output : False
方法 #1:使用循环 + items()
上述功能的组合可以用来解决这个问题。在此,我们使用 items() 检查字典的所有项目,并使用循环来迭代字典键并测试是否相等。
# Python3 code to demonstrate working of
# Test Kth index in Dictionary value list
# Using items() + loop
# initializing dictionary
test_dict = {'Gfg' : [1, 4, 8], 'is' : [8, 4, 2], 'best' : [7, 4, 9]}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# initializing K
K = 2
# initializing N
N = 4
# Test Kth index in Dictionary value list
# Using items() + loop
res = True
for key, val in test_dict.items():
if val[K - 1] != N:
res = False
# printing result
print("Are all Kth index equal to N : " + str(res))
输出 :
The original dictionary : {'is': [8, 4, 2], 'best': [7, 4, 9], 'Gfg': [1, 4, 8]}
Are all Kth index equal to N : True
方法 #2:使用all()
+ 生成器表达式
上述功能的组合也可以用来解决这个问题。在此,我们使用 all() 来测试所有元素是否与 N 相等。
# Python3 code to demonstrate working of
# Test Kth index in Dictionary value list
# Using all() + generator expression
# initializing dictionary
test_dict = {'Gfg' : [1, 4, 8], 'is' : [8, 4, 2], 'best' : [7, 4, 9]}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# initializing K
K = 2
# initializing N
N = 4
# Test Kth index in Dictionary value list
# Using all() + generator expression
res = all([val[K - 1] == N for idx, val in test_dict.items()])
# printing result
print("Are all Kth index equal to N : " + str(res))
输出 :
The original dictionary : {'is': [8, 4, 2], 'best': [7, 4, 9], 'Gfg': [1, 4, 8]}
Are all Kth index equal to N : True