10 Useful Python One-Liners

10 Useful Python One-Liners

In this tutorial, we will learn about the best and most powerful Python One-Liners ranging from beginner’s level to advanced level that too with examples for better understanding. Using Python One-Liners in your programs will actually make your code more readable and precise.

What exactly are Python One-Liners?

One-liners in simple language are single-line codes that replace multiple lines of code. This single line may include multiple keywords, methods, etc.

Multi-liner way:

if (a%2 == 0):
print(“Number is even”)
else:
print(“Number is odd”)

One-liner way:

Syntax: <ifStatement> if <Condition> else <elseStatement>

Why learn one-liner in Python?

Python already offers a variety of shortcuts, built-in functions, and much more that makes coding easier. Code written in Python language is small than in any other language but this amazing one-liner makes it smaller, not only small but it increases the readability of the code to a level that no other language can match.

Using one-liners not only increases the readability but also gives an upper hand to the programmer that he/she doesn’t worry about the indentation. As indentations in Python matter the most, using one-liner we can definitely stop getting errors like Unexpected Indentation, etc.

So let’s get started …

1. Python One-liner for If Else:

A multi-liner way takes multiple lines for just executing the conditionals in code and to overcome that there’s a most basic and very useful one-liner for If-Else statements.

Syntax: <ifStatement> if <Condition> else <elseStatement>

Here,

<ifStatement>: Her,e we have to specify the statement that we want if the specified condition is true

<Condition>: Here, you will write the condition. On the basis of this if or else statement will execute

<elseStatement>: Specify the statement that you want in return if the specified condition goes wrong

Example

Multi-liner way:

if (a%2 == 0):
print(“Number is even”)
else:
print(“Number is odd”)

One-liner way:

‘Number is even’ if (a%2==0) else ‘Number is odd’

2. One-liner for elif:

We can easily use the above one-line way when we have only 1 condition but whenever we have multiple conditions, we use elif. But using elif many times can confuse the reader and may cause a wrong interpretation of the code. Let us see what’s inside.

Syntax: <ifStatement> if <ifCondition> else <elifStatement> if <elifCondition> else <elseStatement>

Here,

  • < ifStatement > : Here we have to specify the statement that we want if the specified condition is true
  • <Condition> : Here, you will write the condition for If statement. On the basis of this, either if statement will execute or flow will move on to Elif statement.
  • < elifStatement > : Specify the statement that you want in return if the specified condition in Elif is right
  • < elifCondition > : Here we will specify the condition for Elif statement to execute.
  • < elseStatement > : Specify the statement that you want in return in case the If and Elif conditions goes wrong.

Example

Multi-liner way:

if x > 18:
print("Yes, you can drive ")
elif x == 18:
print("You can appear for test ")
else:
print("No, you cannot drive ")

One-liner way:

print("Yes, you can drive") if x > 18 else print("You can appear for test") if x == 18 else print("No, you cannot drive ")

3. Python One-liner for For Loop:

For loop is the most widely used among all the keywords. If a program contains many loops, it gets difficult to decode each of them. This gets more complex when loops are nested. There’s an amazing one-liner that will complex loops simply.

Example
Suppose we want to print a list of cubes of the first 100 odd natural numbers then:

Multi-liner way:

cube=[]
for i in range(101):
    if i%2!=0:
    cube.append(i**3)
print(cube) 

One-liner way:

print([i**3 for i in range(101) if i%2!=0])

Explanation:

Here the square brackets inside the print statement show that the output will be a list. As we want cubes of 100 odd natural numbers, we used a for loop along with the range function and packed it inside the print statement, which will eventually print a list of all the cubes of 100 odd natural numbers.

4. One-liner for Functions:

Functions are an integral part of any language. A function consists of multiple lines of statements that in turn may or may not return value. Decoding functions that have many statements is frustrating. Let’s see how we can write function in one line

Example1: Using normal function

Multi-liner way:

def multiply(i):
    return str(i * 5) + '$'
print(multiply('CopyAssignments '))

One-liner way:

def multiply(i): return str(i * 5) + '$'
print(multiply('CopyAssignments '))

Example2: Using lambda function

multiply = lambda i: str(I * 5) + ‘$’
print(multiply('CopyAssignments '))

Explanation:

The Lambda function is a simple function only but the main differentiator is that it can take multiple arguments but the statements or expressions can only be one in that function.

5. One-liner for While Loop:

Multi-liner way:

website = “copy assignments”
a = 10
while(website == “copy assignments”):
    if (a == 10):
        print(Copy assignments is 10/10)
    else:
        print(“This is else inside while”)

One-liner way:

webiste = “copy assignments”
a = 10
while(website == "copy assignments"): print("Copy assignments is 10/10") if True else print("This is else inside while")

Explanation:

In this, first of all, we checked the while loop condition with a variable named website. As the while loop condition is true, the next statement that will execute is the if statement (only if the condition specified in it is true). And if the condition goes false then the else statement will run and give the output.

6. Python One-liner for File Reading:

As we all use files to store and access our data and for all these purposes reading a file gets much more important. A traditional way of reading a file is too lengthy. First, declare a variable to store the file object then open the file and also specify the mode, etc. So the only question that arises is that isn’t there any easy way to read a file. Yes of course there is.

Let us suppose, you want to access all the content of the file named “copyassignments.txt” in a list format and also want to remove all the extra whitespaces, blanks, etc.

One-liner way:

print([line.strip() for line in open("copyassignments.txt")])

Explanation:

Here, we used a variable name line that will track the lines in the file. We have used one of the string methods that are strip(). The strip() method helps us to remove the whitespaces that are at the starting and end of the string. We used an open() function to open the file. And in the end, to get an output we used a print statement

7. Python One-liner for Replacing Content:

Many times we want to replace the same word at multiple places in the file and for that purpose, we use replace() method. The process for doing this is way lengthier than reading a file. What if there’s a one-liner for this too.

Let’s assume, you have used a particular word many times in a file. Now lately you got to know that it needs to be replaced to a new name. If you want to change all occurrences at once, then what will you do?

One-liner way:

print(open(copyassignments.txt').read().replace(cpyassignments,'copyassignments'))

Explanation:

Here, at first, we have used an open() function to open the file. In order to read the contents of the file, we have used the read() method. Now using a replace() we can easily replace the word.

replace() takes two parameters.
1st one is the word that needs to be replaced
2nd one is the new word that we want to place instead of the word that is currently present.

8. Python One-liner for Dictionary:

Many times we want a large list in the form of a dictionary. Basically in the form of key-value pairs. Obviously, there are many ways around it, but let’s learn the one-lined way.

One-liner way:

list_form = [“Tutorial”, “By”,”Copy”,”Assignments”]
d = dict(enumerate(a))
print(d)

Explanation:

We have a list named list_form. And to convert it to dictionary form we have made use of dict and enumerate

enumerate() is a function that takes collection such as tuple, list as an argument, and returns an object

enumerate(iterable,start_value) take two parameters.

iterable parameter is the object that is iterable
start_value parameter is simply a start number i.e from when the number should start. If no value is provided (as in the above example) then it starts by default as 0

9. Python One-liner for Map:

Let us understand this with an example :

Let’s say we want to increase the value of each element in the list by 3.

One-liner way:

print(list(map(lambda i: i + 3, [11, 22, 33])))

Explanation:

We have a list that contains 3 elements. As we want to increase the value of each element by 3 and so for that we defined an anonymous function i.e lambda.

This function takes in one argument i.e i (integer form). And that will help us to increment the value by 3.

We used a map() function that takes in two parameters

map(function, iterable)

In the 1st parameter, we need to pass a function that increments the value by 3. In our case the function is lambda

In the 2nd parameter, we passed a collection that is iterable. In our case, it’s the list of numbers whose value is to be increased by 3.

10. Python One-liner for List Filter:

At times when there’s a need to get a particular set of elements from the list. What we usually do is declare a variable, add a condition and write code that iterates over all the elements of the list. Let us see the one-liner way.

Suppose, we want all the elements from that list that contains even number.

One-liner way:

values = [1,3,4,66,78,111,500,22,200,21,99,90]
result = [i for i in values if i%2 ==0]
print(result)

Explanation:

The list with name values contains multiple elements and we want all the elements that are even.

We used a for loop one-liner to iterate through the values of the list.

For iteration, we used a variable i
If condition is used to check whether the number that our variable i holds is even or not. If it’s even, then that value is added in the list variable result

result is a list variable that holds all the values that are even

Plus Side of One-liners:

As mentioned at the starting of the article that one-liners help the programmer to increase readability and make his/her code more precise. But the plus side of one-liners is that it not only increases readability but also increases the efficiency of the code.

Many one-liners are used to reduce the usage of unwanted loops, conditionals, etc. As the efficiency of the code increase and so the time taken for execution decreases.

One-liner promotes the use of keywords, methods, built-in functions and makes coding and code simple.

Thank you for reading our article.


Check out this video too


Also Read:



Share:

Author: Harry

Hello friends, thanks for visiting my website. I am a Python programmer. I, with some other members, write blogs on this website based on Python and Programming. We are still in the growing phase that's why the website design is not so good and there are many other things that need to be corrected in this website but I hope all these things will happen someday. But, till then we will not stop ourselves from uploading more amazing articles. If you want to join us or have any queries, you can mail me at admin@violet-cat-415996.hostingersite.com Thank you