Thomas  Granger

Thomas Granger


Why are 'and/or' operations in this Python statement behaving unexpectedly?

I have a conceptual question about Python. This is the code

list1=['assistant manager', 'salesperson', 'doctor', 'production manager', 'sales manager', 'schoolteacher', 'mathematics teacher']
sub1 = "teacher"
sub2 = "sales"

for item in list1:
if (sub1 and sub2) in item:

Here, I expect the list to be empty as none of the items satisfy the condition if sub1 and sub2 in item: But when I print the list I get the output#1 as this

>>> ans
[‘salesperson’, ‘sales manager’] # I expected an empty list here

Also, when I use or instead of and as given below

for item in list1:
if (sub1 or sub2) in item:

the output#2 I get is

>>> ans
[‘schoolteacher’, ‘mathematics teacher’] # I expected a list of words containing sub1 or sub2 as their substrings

I saw a similar looking solution here, but it does not exactly solve my problem. Both the times I get a result which I do not expect while using and and or. Why is this happening during both these operations?


What is GEEK

Buddha Community

Randy Rickards


("teacher" and "sales") in "salesmanager" do not mean the same in Python and in English.

In English, it is synonynous to ("teacher" in "salesmanager") and ("sales" in "salesmanager")(which Python would understand as you thought it should, and evaluate to False).

Python on the other hand will first evaluate "teacher" and "sales", because it is in parentheses, and thus has higher priority. and will return the first argument if falsy, otherwise the second argument. "teacher" is not falsy, so "teacher" and "sales" evaluates as "sales". Then, Python continues to evaluate "sales" in "salesmanager", and returns True.

Tubo Man


The and and or operators don’t do what you think they do. Try breaking up your expressions:

if sub1 in item or sub2 in item:

if sub1 in item and sub2 in item:

The and operator evaluates its left-hand operand and, if the result is truthy, returns the right-hand operand, otherwise the left-hand operand.

The or operator evaluates its left-hand operand and, if the result is falsy, returns the right-hand operand, otherwise the left-hand operand.

So, in your first expression evaluates as follows:

(sub1 and sub2) in item
("teacher" and "sales") in item
("sales") in item

which is not what you expected.

Similarly for your second expression:

(sub1 or sub2) in item
("teacher" or "sales") in item
("teacher") in item

Ray  Patel

Ray Patel


top 30 Python Tips and Tricks for Beginners

Welcome to my Blog , In this article, you are going to learn the top 10 python tips and tricks.

1) swap two numbers.

2) Reversing a string in Python.

3) Create a single string from all the elements in list.

4) Chaining Of Comparison Operators.

5) Print The File Path Of Imported Modules.

6) Return Multiple Values From Functions.

7) Find The Most Frequent Value In A List.

8) Check The Memory Usage Of An Object.

#python #python hacks tricks #python learning tips #python programming tricks #python tips #python tips and tricks #python tips and tricks advanced #python tips and tricks for beginners #python tips tricks and techniques #python tutorial #tips and tricks in python #tips to learn python #top 30 python tips and tricks for beginners

Ray  Patel

Ray Patel


Lambda, Map, Filter functions in python

Welcome to my Blog, In this article, we will learn python lambda function, Map function, and filter function.

Lambda function in python: Lambda is a one line anonymous function and lambda takes any number of arguments but can only have one expression and python lambda syntax is

Syntax: x = lambda arguments : expression

Now i will show you some python lambda function examples:

#python #anonymous function python #filter function in python #lambda #lambda python 3 #map python #python filter #python filter lambda #python lambda #python lambda examples #python map

Ray  Patel

Ray Patel


Ternary operator in Python?

  1. Ternary Operator in Python

What is a ternary operator: The ternary operator is a conditional expression that means this is a comparison operator and results come on a true or false condition and it is the shortest way to writing an if-else statement. It is a condition in a single line replacing the multiline if-else code.

syntax : condition ? value_if_true : value_if_false

condition: A boolean expression evaluates true or false

value_if_true: a value to be assigned if the expression is evaluated to true.

value_if_false: A value to be assigned if the expression is evaluated to false.

How to use ternary operator in python here are some examples of Python ternary operator if-else.

Brief description of examples we have to take two variables a and b. The value of a is 10 and b is 20. find the minimum number using a ternary operator with one line of code. ( **min = a if a < b else b ) **. if a less than b then print a otherwise print b and second examples are the same as first and the third example is check number is even or odd.

#python #python ternary operator #ternary operator #ternary operator in if-else #ternary operator in python #ternary operator with dict #ternary operator with lambda

Paula  Hall

Paula Hall


Statements And Comments In Python

When you write a program in python that particular code is written line by line. Which means there are kind of sentences in your code. These sentences can be identified under two main groups according to the reason why you are adding them into your code.

To make it easy for you I will name them as Python statements and Python comments.

Python Statements

Instructions that you write in your code and that a **Python interpreter **can execute are called statements.

Wait what! Python interpreter? What’s that?

Let me make it clear to you.

Python interpreter is nothing but a converter which converts the Python language to machine language. Your computer’s hardware obviously can’t understand Python. Therefore, there has to be something that makes the computer understand what you want to be done using your Python code. That is basically done by the Python interpreter. Piece of cake!

Still no idea what really Python statements are?

Don’t worry! Help is on the way!

#python-programming #comments-in-python #statements-in-python #python-comments #python-statements

August  Larson

August Larson


Python I: Data Types and Operators, variable assignment, and print()

Learn the Python basics so that you can use it for your data science projects.

This blog is part of a series of tutorials called Data in Day. Follow these tutorials to create your first end-to-end data science project in just one day. This is a fun easy project that will teach you the basics of setting up your computer for a data science project and introduce you to some of the most popular tools available. It is a great way to get acquainted with the data science workflow.

I. About Python 🐍

Created by Dutch programmer Guido van Rossum at Centrum Wiskunde & Informatica, Python made its debut in 1991. Over thirty years it has gained popularity earned a reputation of being the “Swiss army knife of programming languages.” Here are a few reasons why:

In emerging fields like data science, artificial intelligence, and machine learning, a robust community, plenty of packages, paradigm flexibility, and syntactical simplicity, allow beginners and professionals to focus on insights and innovation.

#python3 #variables-in-python #data-types-in-python #operators-in-python #python #python i: data types and operators, variable assignment, and print()