Python - 检查元组列表是否包含所有 K
有时,在处理Python记录时,我们可能会遇到需要测试元组列表的元组中的所有元素是否都是 K 的问题。这个问题可以应用在许多数据领域,例如机器学习和 Web 开发。让我们讨论可以执行此任务的某些方式。
Input : test_list = [(4, 4, 4, 4)], K = 4
Output : True
Input : test_list = [(7), (5, ), (5, ), (5, )], K = 5
Output : False
方法#1:使用循环
这是可以执行此任务的蛮力方式。在此,我们使用循环迭代元组中的每个值并测试其是否为 K,如果我们发现任何元素为非 K,则返回 False。
# Python3 code to demonstrate working of
# Check if tuple list has all K
# Using loop
# initializing list
test_list = [(4, 4), (4, 4, 4), (4, 4), (4, 4, 4, 4), (4, )]
# printing original list
print("The original list is : " + str(test_list))
# initializing K
K = 4
# Check if tuple list has all K
# Using loop
res = True
for tup in test_list:
for ele in tup:
if ele != K:
res = False
# printing result
print("Are all elements K ? : " + str(res))
输出 :
The original list is : [(4, 4), (4, 4, 4), (4, 4), (4, 4, 4, 4), (4, )]
Are all elements K ? : True
方法#2:使用all() + any()
这是可以回答这个问题的另一种方式。在此,我们使用 all() 检查所有元素是否为 K,并使用外部 any() 检查是否有任何元素不遵循此行为。
# Python3 code to demonstrate working of
# Check if tuple list has all K
# Using all() + any()
# initializing list
test_list = [(4, 4), (4, 4, 4), (4, 4), (4, 4, 4, 4), (4, )]
# printing original list
print("The original list is : " + str(test_list))
# initializing K
K = 4
# Check if tuple list has all K
# Using all() + any()
res = any(all(val == K for val in tup) for tup in test_list)
# printing result
print("Are all elements K ? : " + str(res))
输出 :
The original list is : [(4, 4), (4, 4, 4), (4, 4), (4, 4, 4, 4), (4, )]
Are all elements K ? : True