Python – 在元组中测试相似的数据类型
有时,在使用Python元组时,我们可能会遇到需要测试元组中的所有元素是否具有相同数据类型的问题。这种问题可以在所有领域都有应用,例如 Web 开发和日常编程。让我们讨论可以执行此任务的某些方式。
Input : test_tuple = (5, 6, 7, 3, "Gfg")
Output : False
Input : test_tuple = (2, 3)
Output : True
方法 #1:使用循环 + isinstance()
上述功能的组合可以用来解决这个问题。在此,我们使用 isinstance() 执行数据类型检查,并以蛮力方式完成迭代以解释所有元素。
# Python3 code to demonstrate working of
# Test Similar Data Type in Tuple
# Using isinstance() + loop
# initializing tuple
test_tuple = (5, 6, 7, 3, 5, 6)
# printing original tuple
print("The original tuple : " + str(test_tuple))
# Test Similar Data Type in Tuple
# Using isinstance() + loop
res = True
for ele in test_tuple:
if not isinstance(ele, type(test_tuple[0])):
res = False
break
# printing result
print("Do all elements have same type ? : " + str(res))
输出 :
The original tuple : (5, 6, 7, 3, 5, 6)
Do all elements have same type ? : True
方法 #2:使用all() + isinstance()
上述功能的组合也可以用来解决这个问题。在此,我们使用 all() 测试所有值,并且 isinstance() 用于检查数据类型。
# Python3 code to demonstrate working of
# Test Similar Data Type in Tuple
# Using all() + isinstance()
# initializing tuple
test_tuple = (5, 6, 7, 3, 5, 6)
# printing original tuple
print("The original tuple : " + str(test_tuple))
# Test Similar Data Type in Tuple
# Using all() + isinstance()
res = all(isinstance(ele, type(test_tuple[0])) for ele in test_tuple)
# printing result
print("Do all elements have same type ? : " + str(res))
输出 :
The original tuple : (5, 6, 7, 3, 5, 6)
Do all elements have same type ? : True