TheDeveloperBlog.com

Home | Contact Us

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

<< Back to PYTHON

Python in Keyword

Use the in operator to test strings, list and other collections. Use not-in to test for nonexistence.
In operator. Matter is composed of atoms. Strings, and collections, too contain smaller elements. Strings contain substrings, characters. Lists have elements.
With in, a built-in operator, we search strings and collections. Often these searches are the most efficient. The code is clear and readable and short.
In, string. This operator can search for individual characters within a string. The quotes used don't matter—we can use single or double quotes here.Strings

If: This example also combines the "in" and "not in" operators with if-statements. We print True if the expressions are True.

If
Python program that uses in, not in, strings value = "abc" # There is a "c". if "c" in value: print(True) # There is no "x". if "x" not in value: print(True) Output True True
In, substrings. We can also search for substrings (or "slices") within strings. The entire substring specified must be found in the correct order. Incomplete matches return False.Substring
Python program that finds substrings value = "cat and dog" # This substring is in the value. if "and" in value: print(1) # This one is not. if "and cat" not in value: print(2) Output 1 2
Returns true, false. Most examples show the "in" operator inside an if-statement. This makes sense. But "in" is just part of an expression that returns True or False—a boolean.
Python program that shows in return value elements = [10, 20, 30] # This evaluates to true. result = 20 in elements print(result) # False. result = 40 in elements print(result) Output True False
List. With a list, the "in" operator matches an existing element. If no matching element is found, "in" returns false and "not in" returns true. More than one value cannot be tested.
Python program that uses in, list animals = ["cat", "dog", "bird"] # There is a dog. if "dog" in animals: print(True) # There is no fish. if "fish" not in animals: print(True) Output True True
Dictionary. The "in" operator on dictionaries matches just keys. It does not consider the values. And we cannot pass it a tuple (pair) containing both: this does not work.

Note: For dictionaries, more complex lookup methods, like get() may be needed more often than "in."

Dictionary, get
Python program that uses in, dictionary lookup = {"snake" : "green", "bird" : "blue"} # Keys are searched with "in": if "bird" in lookup: print(1) # But values are not searched: if "blue" not in lookup: print(2) Output 1 2
Tuple. This operator works well on tuples, with any number of items. We do not need a separate tuple variable for an if-statement—we can test a tuple specified directly within an if.Tuple
Python program that uses in, tuple value = "cat" # See if the value exists in the tuple. if value in ("dog", "bird", "cat"): print(True) Output True
String in, find benchmark. Usually, "in" is faster than alternative methods. As a Python developer, we should use "in" when possible as it is clear, easy to read, and fast.

Version 1: This version of the code uses "in" on a string. It makes sure the test is correct.

Version 2: Here we test the find method on a string. Logically this version of the code does the same thing as version 1.

Result: In operates several times faster than find. Consider using a dictionary for a situation where frequent lookups occur.

Python program that times in, find import time value = "characters" print(time.time()) # Version 1: use "not in." for i in range(0, 1000000): if "t" not in value: raise Exception() print(time.time()) # Version 2: use find method. for i in range(0, 1000000): if value.find("t") == -1: raise Exception() print(time.time()) Output 1406834210.134138 1406834210.259137 in = 0.125 s 1406834210.696638 find = 0.437 s
Index, list. Often with lists, we need to locate a specific element and its index. The "in" operator does not work here. We can use "index" or a simple for-loop to do the search.List, index
String find. We can use find and rfind to search for a string from the left or right side. This returns an index. With index() and rindex, an error is returned if no match is located.find
Another in. The for-loop also uses an "in" keyword, but this one has a different meaning. It is just part of the for-loop, part of the enumeration expression.for
A review. In searches for a match within a string or collection. It is often the fastest option for search. Its syntax is clear and easy to read.
© 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