Python – 测试列表中的所有元素是否属于同一类型
有时,在使用Python时,我们可能会遇到需要测试参数的所有元素是否属于同一类型的问题。这可以应用于许多领域,例如数据科学和日常编程。让我们讨论可以执行此任务的某些方式。
方法 #1:使用循环 + isinstance()
上述功能的组合可用于执行此任务。在此,我们使用 isinstance() 测试类型并检查所有元素是否与第一个元素的类型相同。
# Python3 code to demonstrate
# Test if all elements in list are of same type
# using loop + isinstance()
# Initializing lists
test_list = [5, 6, 2, 5, 7, 9]
# printing original list
print("The original list is : " + str(test_list))
# Test if all elements in list are of same type
# using loop + isinstance()
res = True
for ele in test_list:
if not isinstance(ele, type(test_list[0])):
res = False
break
# printing result
print ("Do all elements have same type : " + str(res))
输出 :
The original list is : [5, 6, 2, 5, 7, 9]
Do all elements have same type : True
方法 #2:使用all() + isinstance()
这是执行此任务的另一种方式。在这种情况下,我们不是使用 all 和 instance() 在一行中迭代执行任务。
# Python3 code to demonstrate
# Test if all elements in list are of same type
# using all() + isinstance()
# Initializing lists
test_list = [5, 6, 2, 5, 7, 9]
# printing original list
print("The original list is : " + str(test_list))
# Test if all elements in list are of same type
# using all() + isinstance()
res = all(isinstance(sub, type(test_list[0])) for sub in test_list[1:])
# printing result
print ("Do all elements have same type : " + str(res))
输出 :
The original list is : [5, 6, 2, 5, 7, 9]
Do all elements have same type : True