我正在使用python的一个项目。我想知道列表中是否有整数。我不想使用count()或contains()。我正在寻找是否有一个整数,而不仅仅是一个特定的字符。有办法吗?
您可以使用.any()
和isinstance()
进行检查
如果可迭代对象中任何一项为真,则
any()
函数返回True,否则返回False。
如果指定的对象是指定的类型,则
isinstance()
函数返回True,否则返回False。
l1=["Hello","There",2,4,'1',"integer"]
if any(isinstance(j,int) for j in <list>):
print("Integer found!")
else:
print("No integer is there in the list.")
list1 = ['1', '2', '1.0', 's','1.2']
for i in list1:
try:
int(i)
print(i , "is int")
# return true
except:
print(i, "error")
1是整型2是整数1.0错误年代错误1.2误差
循环遍历列表并使用isinstance
from typing import List, Any
def is_int_in_list(lst: List[Any]) -> bool:
for x in lst:
if isinstance(x, int):
return True
return False
lst1 = ['x', 12, {}]
print(is_int_in_list(lst1))
lst2 = ['x', '12', {}]
print(is_int_in_list(lst2))
list1 = [1, 2, 3, "car", "bike"]
list2 = ["yes" if type(x) == int else "no" for x in list1]
print(list2)