我没有关于如何做到这一点的线索.我有一个清单:
list_something = [5, 6, 8]
Run Code Online (Sandbox Code Playgroud)
我有一个方法is_valid()
def is_valid(number):
return type(number) is int
Run Code Online (Sandbox Code Playgroud)
如果3个数字都是for循环中的所有整数,我怎样才能立即检查?
for item in list_something:
Run Code Online (Sandbox Code Playgroud)
在for循环结束时,我需要一个名为"all_list_something"的变量,其值为True或False.如果列表中的所有数字都是Integer,则值为True.如果只有一个不能为Integer,则该值为false.
有关实现这一目标的最佳途径的任何线索?
最好的祝福,
cmh*_*cmh 10
对于某些人来说,生成器理解可以提高地图的可读性.
all_list_something = all(is_valid(x) for x in list_something)
Run Code Online (Sandbox Code Playgroud)
你可以使用all和map:
all_list_something = all(map(is_valid, list_something))
Run Code Online (Sandbox Code Playgroud)
使用itertools.imap会允许它短路(意味着如果第一个元素无效,它永远不会检查其余元素):
import itertools
all_list_something = all(itertools.imap(is_valid, list_something))
Run Code Online (Sandbox Code Playgroud)