📌  相关文章
📜  Python – 测试列表中的所有元素是否属于同一类型

📅  最后修改于: 2022-05-13 01:55:44.912000             🧑  作者: Mango

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