Skip to content

python any() 和 all() 函数 #1

Description

@bug320

内建函数 all()

all(...)
   all(iterable) -> bool
 Return True if bool(x) is True for all values x in the iterable.
 If the iterable is empty, return True.

myall()相当于 内置的 all() 函数
如果 iterable 为空 或者 iterate 内全部元素为 True(即非空) 返回 True
否则,如果 iterable 内部有一个为 False (相当于c语言中的 NULL ),返回 Flase

 def myall(iterable):
    for element in iterable:
     	if not element:
		return False
return True

内建函数 any()

any(...)
    any(iterable) -> bool
    Return True if bool(x) is True for any x in the iterable.
    If the iterable is empty, return False.	   

myany()相当于 内置的 any() 函数
如果,如果 iterable 内任一个元素不为假("",0,False),返回 True
否则,如果 iterable 为空 或者 iterable 内全部元素为假 ,返回 False

def myany(iterable):
   for element in iterable:
    	   if element :
		return True
return False

测试文件

 if __name__ == "__main__":
    no_null = ['a','b','c','d']
    all_null = [0,False,'']    
    is_null =[]
    one_null = ['a','','c','d']
   one_sz_zero = ['a','0','c','d']
   one_num_zero = ['a',0,'c','d']
	   print "any"
   print ""
   print any(no_null) 		# True
   print any(all_null)		# False
   print any(is_null)		# False
   print any(one_null) 	# True
   print any(one_sz_zero) 	# True
   print any(one_num_zero) # True
   print ""
   print "myany"
   print ""
   print myany(no_null) 		# False
   print myany(all_null)		# True
   	   print myany(is_null)		# True
   print myany(one_null) 	    # False
  print myany(one_sz_zero) 	# False
  print myany(one_num_zero)   # False

  print "all"
  print ""
  print all(no_null) 		# True
  print all(all_null)		# False
  print all(is_null)		# True
  print all(one_null) 	# False
  print all(one_sz_zero) 	# True
  print all(one_num_zero) # False
  print ""
  print "myall"
  print ""
  print myall(no_null) 		# True
  print myall(all_null)		# False
  print myall(is_null)		# True
  print myall(one_null) 	    # False
  print myall(one_sz_zero) 	# True

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions