10 Awesome Python List Tricks

10 Awesome Python List Tricks
Photo by Faris Mohammed / Unsplash

In Python, an array is a collection of values that belong to the same data type. Arrays are useful for storing and manipulating large amounts of data efficiently.

1. Reverse a List

To reverse a list, you can use the reverse() method. This method reverses the order of the elements in the list.

a = [1, 2, 3, 4, 5]
a.reverse()
print(a)
# [5, 4, 3, 2, 1]

2. Sort a List by a key

To sort a list by a key, you can use the sorted() function. This function takes a list and a key as arguments and returns a new list sorted by the key.

a = [1, 2, 3, 4, 5]
b = sorted(a, key=lambda x: x % 2)
print(b)
# [2, 4, 1, 3, 5]

3. List comprehension to create a list

To create a list, you can use list comprehension. This is a concise way to create a list by iterating over an iterable object.

numbers  = [i for i in range(5)]
squares = [n ** 2 for n in numbers]
print(squares)
# [0, 1, 4, 9, 16]
# List comprehension with if condition
squares = [n ** 2 for n in numbers if n % 2 == 0]
print(squares)
# [0, 4, 16]

4. Use enumerate() to get the index of an element

To get the index of an element in a list, you can use the enumerate() function. This function takes a list as an argument and returns an enumerate object. You can convert this object into a list of tuples using the list() function.

a = [1, 2, 3, 4, 5]
b = list(enumerate(a))
print(b)
# [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]

5. Use zip() to iterate over two lists simultaneously

To iterate over two lists simultaneously, you can use the zip() function. This function takes two lists as arguments and returns an iterator of tuples.

a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9, 10]
for i, j in zip(a, b):
    print(i, j)
# 1 6
# 2 7
# 3 8
# 4 9
# 5 10

6. Use map() to apply a function to all elements of a list

To apply a function to all elements of a list, you can use the map() function. This function takes a function and an iterable object as arguments and returns a map object. You can convert this object into a list using the list() function.

a = [1, 2, 3, 4, 5]
b = list(map(lambda x: x ** 2, a))
print(b)
# [1, 4, 9, 16, 25]

7. Use filter() to filter elements of a list

To filter elements of a list, you can use the filter() function. This function takes a function and an iterable object as arguments and returns a filter object. You can convert this object into a list using the list() function.

a = [1, 2, 3, 4, 5]
b = list(filter(lambda x: x % 2 == 0, a))
print(b)
# [2, 4]

8. Use reduce() to reduce a list to a single value

To reduce a list to a single value, you can use the reduce() function. This function takes a function and an iterable object as arguments and returns a single value.

from functools import reduce
a = [1, 2, 3, 4, 5]
b = reduce(lambda x, y: x + y, a)
print(b)
# 15

9. Use any() to check if any element of a list is true

To check if any element of a list is true, you can use the any() function. This function takes a list as an argument and returns True if any element of the list is true.

a = [True, False, False]
b = any(a)
print(b)
# True

10. Use all() to check if all elements of a list are true

To check if all elements of a list are true, you can use the all() function. This function takes a list as an argument and returns True if all elements of the list are true.

a = [True, False, False]
b = all(a)
print(b)
# False

Bonus: Use collections.Counter() to count the frequency of elements in a list

To count the frequency of elements in a list, you can use the collections.Counter() function. This function takes a list as an argument and returns a dictionary with the elements of the list as keys and their frequencies as values.

from collections import Counter
a = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
b = Counter(a)
print(b)
# Counter({1: 2, 2: 2, 3: 2, 4: 2, 5: 2})

Conclusion

List is a very useful data structure in Python. In this article, we have seen some useful tricks to work with lists in Python. You might also want to check about 10 awesome string tricks and 10 awesome dictionaries tricks in Python.