Convert List of Integer to an Integer in Python

How to convert a list of integers to an integer by multiplying all values in a Python list? You can convert a list of integers into a single integer using many ways, for example, by using the for loop, list comprehension, reduce() method with an lambda expression, and map() with join() functions. In this article, I will explain how to convert a list to an integer by using all these methods with examples.

1. Quick Examples of List to Integer

If you are in a hurry, below are some quick examples of converting a list into an integer.


# Quick examples of convert list to integer

# Initialize list 
mylist = [3, 6, 5, 8]

# Example 1: Using for loop
number = 0
for digit in mylist:
    number = number*10 + digit

# Example 2: Convert list to integer 
# Using list comprehension
number = int(''.join(str(digit) for digit in mylist))

# Example 3: Using list comprehension 
new_list = [str(digit) for digit in mylist]
string_value = "".join(new_list)
number = int(string_value)

# Example 4: Using the reduce() method 
# With lambda expression
number = reduce(lambda x, y: x * 10 + y, mylist)

# Example 5: Convert list to integer
# Using map() and join() methods
number = int(''.join(map(str, mylist)))

# Example 6: Using map() and join() methods
new_list = map(str, mylist)
string_value = ''.join(new_list)
number = int(string_value)

2. Convert List to Integer Using For Loop

You can convert a list to an integer using a for loop, you can iterate over the list of elements and build the integer step by step.

For example, you can start with an initial number of 0. Then, for each digit in the list, you can multiply the current number by 10 (to shift the previous digits to the left) and add the current digit. This process continues until you iterate over all the mylist in the list, resulting in the complete integer. You can replace the mylist list with your own list of digits to convert it into an integer using a similar approach.

Here are the iterations for the conversion of the list [3,6,5,8] to an integer.

  • number = 0*10+3 = 3
  • number = 3*10+6 = 36
  • number = 36*10+5 =365
  • number = 365*10+8 = 3658

# Initialize list 
mylist = [3, 6, 5, 8]
print("Original list: ",mylist)

# Using for loop to convert list to int
number = 0
for digit in mylist:
    number = number*10 + digit
print("After converting the list to an integer:",number)

Yields below output.

python list integer

3. Convert List to Integer Using List Comprehension

You can also use list comprehension to convert the list to an integer. You can join the list(mylist) together as strings and then convert the resulting string to an integer.

In the below example, the str(digit) part converts each digit in the list to a string. Then, ''.join() joins all the individual strings together with an empty string as the separator. Finally, int() is used to convert the resulting string to an integer.


# Initialize list 
mylist = [3, 6, 5, 8]
print("Original list: ",mylist)

# Convert list to integer 
# Using list comprehension
number = int(''.join(str(digit) for digit in mylist))
print("After converting the list to an integer:",number)

# Using list comprehension 
new_list = [str(digit) for digit in mylist]
string_value = "".join(new_list)
number = int(string_value)
print("After converting the list to an integer:",number)

Yields the same output as above.

4. Using the reduce() Method with Lambda Expression

Alternatively, You can use reduce() method from the functools module with a lambda expression to convert the list into an integer. Simply you can perform a series of calculations to combine the digits. For example, you can import the reduce() function from the functools module. This function takes two arguments, the lambda expression and the list of digits. The lambda expression takes two inputs, x and y, and performs the calculation x*10+y to combine the digits.

The reduce() function applies the lambda expression to the list of digits in a cumulative manner, starting from the left. This process combines the digits step by step until a single integer result is obtained.


from functools import reduce

# Initialize list 
mylist = [3, 6, 5, 8]
print("Original list: ",mylist)

# Using the reduce() method with lambda expression
number = reduce(lambda x, y: x * 10 + y, mylist)
print("After converting the list to an integer:",number)

Yields the same output as above.

5. Using map() and join() Methods

You can also use map() and join() methods to convert the list into an integer. First, you can apply to map each digit to a string, then join the strings together, and finally convert the resulting string to an integer.

In the below example, the map(str, mylist) part applies the str() function to each digit in the list, converting them into strings. The join() method then concatenates these strings together with an empty string as the separator. Finally, int() is used to convert the resulting string to an integer.


# Initialize list 
mylist = [3, 6, 5, 8]
print("Original list: ",mylist)

# Convert list to integer
# Using map() and join() methods
number = int(''.join(map(str, mylist)))
print("After converting the list to an integer:",number)

# Using map() and join() methods
new_list = map(str, mylist)
string_value = ''.join(new_list)
number = int(string_value)
print("After converting the list to an integer:",number)

Yields the same output as above.

Conclusion

In this article, I have explained how to convert a list to an integer in Python by using for loop, list comprehension, reduce() method with lambda expression, and map() & join() functions with examples.

Happy Learning !!

Malli

Malli is an experienced technical writer with a passion for translating complex Python concepts into clear, concise, and user-friendly articles. Over the years, he has written hundreds of articles in Pandas, NumPy, Python, and takes pride in ability to bridge the gap between technical experts and end-users.

Leave a Reply