TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

<< Back to PYTHON

Python Any: Any Versus All, List Performance

Use the any built-in function to check elements in a list. Compare any to all and test performance.
Any. Some elements in a list evaluate to False. These are things like 0, an empty sub-list, None, an empty string. With any() we see if any element is not false.Built-ins
Notes, any. In our thinking, we can understand "any" to read "has any element that evaluates to True." The name "any" is easier to type than that phrase.
First example. Here we use the function with a list. When the lists has all zero elements, any returns false. But when we add a 1, any returns true.

So: Any() requires at least one element that does not evaluate to False. Zero evaluates to False.

Python program that uses any # Test any with all zero elements. # ... These evaluate to false. values = [0, 0, 0] result = any(values) print("ANY", values, result) # Test any with a 1 element. # ... This element evaluates to true, so any is true. values = [0, 0, 1] result = any(values) print("ANY", values, result) Output ANY [0, 0, 0] False ANY [0, 0, 1] True
False element examples. In Python, many things can evaluate to False—not just the value False. Here we find that None, an empty list, an empty string, and zero are all false.

Any: The any function will return False on this list. No element in the list is True.

Python program that uses any, many false elements # These elements all evaluate to false. # ... None, empty arrays, empty strings, and 0 are false. # ... So any is false. values = [None, [], "", 0] result = any(values) print(result) Output False
Any versus all. Any and all are similar methods. But with all(), all elements must evaluate to True for the method to return true.
Python program that compares any to all values = [0, None, "cat"] # Test any() and all() functions on this list. # ... One "true" element means any is true. # ... But all() is false because there are 2 false elements. print("ANY", values, any(values)) print("ALL", values, all(values)) Output ANY [0, None, 'cat'] True ALL [0, None, 'cat'] False
Empty list. The any function will return False for an empty list. Essentially any() searches for a True value. And an empty list will not have one.
Python program that tests empty list # This is an empty list. # ... Any returns false. empty = [] result = any(empty) print(result) Output False
Benchmark, any. Testing the performance of Python is not easy. The implementation is important. Here I test any() and a for-loop over a list with an if-statement.forListIf

Version 1: This version of the code uses the any() method on a list. It ensures any() does not return False.

Version 2: Here we use a nested for-loop to implement the same logic that any() uses. The source code is somewhat longer.

Result: In PyPy the for-loop is faster than any. Perhaps the compiler can optimize a nested loop faster than an any call.

Python program that benchmarks any, for-loop import time values = [0, None, 100] print(time.time()) # Version 1: use any() function. i = 0 while i < 10000000: v = any(values) if v == False: break i += 1 print(time.time()) # Version 2: implement any logic with for-loop. i = 0 while i < 10000000: t = False for v in values: if v: t = True break if t == False: break i += 1 print(time.time()) Output 1453910914.887 1453910915.356 Version 1, any() = 0.46899986267 s 1453910915.528 Version 2, for, if = 0.17200016975 s
A review. Any and all are useful methods in Python. Usually I prefer a for-loop. But in some situations these built-in functions can simplify code.
© TheDeveloperBlog.com
The Dev Codes

Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf