String list to number list python

Как преобразовать строковый список в целочисленный список в Python

Самый питонический способ преобразовать список строк в список INTS – это использование понимания списка [INT (X) для X в строках]. Это итерации по всем элементам в списке и преобразует каждый элемент X в списке в целочисленное значение, используя встроенный функцию int (x). Эта статья показывает вам самые простые … Как преобразовать строковый список в список целых в Python Подробнее »

Самый питонический способ преобразовать Список строк к Список ints это использовать список пониманий [int (x) для x в строках] . Это итерации по всем элементам в списке и преобразует каждый элемент списка х до целочисленного значения, используя int (x) Встроенная функция.

Эта статья показывает вам простейших способов Преобразовать одномерное Список состоящий только из строк в список ints Отказ

Проблема : Учитывая список строк [«1», «2», «-3»] . Как преобразовать его в список ints [1, 2, -3] ?

  • Проблема Вариант: Учитывая список строк со смешанными представлениями [«1», «2.0», «-3.4»] . Как преобразовать его в список ints [1, 2, -3] ?

Сначала мы погрузимся в более легкую базовую проблему и изучить вариант проблемы в Метод 5 Отказ

Метод 1: Понимание списка

Предположим, у нас есть список:

Теперь проверьте тип элемента первого списка:

Давайте применим Встроенный Функция int () и получите список целых чисел, используя Понимание списка :

a = ["1", "2", "-3"] print([int(x) for x in a]) # [1, 2, -3]

💡 Понимание списка является компактным способом создания списков. Простая формула – [Выражение + контекст] Отказ Выражение : Что делать с элементом каждого списка? Контекст : Какие элементы для выбора? Контекст состоит из произвольного количества для и Если заявления.

Вы можете смотреть, как я объяснил список списков в этом видео:

Проверьте тип номеров в новом списке:

A = [int(x) for x in a] print(type(A[0])) #

Встроенная функция int () Преобразует строку в целое число. Таким образом, это помогает нам создать новый список INTS из списка строк в Одна линия кода Отказ

Метод 2: Функция карты

Встроенная функция карта Хорошо оптимизирован и эффективен, когда он вызывается, элементы списка извлекаются при доступе. Следовательно, один элемент хранится и обрабатывается в памяти, что позволяет программе не хранить весь список элементов в системе память Отказ

Применить к одному списку А Следующий код:

a = ["1", "2", "-3"] print(list(map(int, a))) # [1, 2, -3]

💡 карта () Функция применяет первый аргумент, функцию, к каждому элементу в итерателе. Он преобразует каждый элемент в оригинале, который потенциал для нового элемента и возвращает новый ИТЕРИТЕЛЬНО карта объект преобразованных значений. Чтобы получить список, вам нужно преобразовать его, используя встроенный Список () конструктор.

Читайте также:  Connect mysql database with html

Вы можете наблюдать за моим видеочтером функции карты здесь:

Метод 3: для петли

Конечно, вы также можете конвертировать Список строк к Список ints Используя простой для петли Отказ Это то, что большинство людей, поступающих от языка программирования, такие как Java и C ++, будут делать, так как они не знают самых питоновых способов использования Понимание списка Тем не менее (см. Метод 1 ).

a = ["1", "2", "-3"] ints = [] for element in a: ints.append(int(element)) print(ints) # [1, 2, -3]

Этот базовый метод преобразовать Список строк к Список целых чисел Использует три шага:

  • Создайте пустой список с ints = [] .
  • Итерация за каждая строковый элемент с использованием для петля, такая как Для элемента в списке Отказ
  • Преобразуйте строку в целое число, используя int (элемент) и добавить его в новый целочисленный список, используя list.append () метод.

Способ 4: список пометки + EVAL ()

Вы также можете использовать Eval () Функция в списке понимание для преобразования списка строк в список INTS:

a = ["1", "2", "-3"] ints = [eval(x) for x in a] print(ints) # [1, 2, -3]

💡 Встроенный Python Eval (ы) Функция разрабатывает строковый аргумент S В выражение питона запускает его и возвращает результат выражения. Если «выражение» – это простое целочисленное представление, Python преобразует аргумент S целому числу.

Вы можете наблюдать за мной, представляя Ins и ауты Eval () Функция в этом кратком направлении:

Метод 5: смешанное изображение строки с округлением

Проблема Вариант: Учитывая список строк со смешанными представлениями [«1», «2.0», «-3.4», «3.6»] . Как преобразовать его в список ints [1, 2, -3, 4] ?

Задача состоит в том, чтобы сначала преобразовать каждую строку на поплавок и только затем преобразуйте его в целое число. Эти два шага являются неотъемлемой частью, и никто не может быть пропущен, потому что вам нужно, чтобы поплавок был способен представлять любой номер. Но вам также нужно целое число, так как это цель, которую вы изложили: преобразование списка строк в список INTS.

❗ Конвертировать Список смешанных строковых представлений к Список закругленные целые числа это, цепляя Встроенный Функции раунд () и поплавок () в оформлении Понимание списка выражение [раунд (поплавок (ы)) для S в A] Предполагая, что список представления смешанного строка хранится в переменной А Отказ

a = ["1", "2.0", "-3.4", "3.6"] ints = [round(float(s)) for s in a] print(ints) # [1, 2, -3, 4]

Вы можете узнать все о раунд () Функция в следующем видео:

Чтобы увеличить свои навыки Python навыки, не стесняйтесь присоединиться к моей бесплатной академии электронной почты с большим количеством бесплатного контента и читовных листов – если вы еще этого не сделали! 🙂

Если вы хотите пойти по всему и изучать Python во время оплаты в процессе, проверьте мой курс Freelancer Python – номер один внештатный разработчик в мире!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Читайте также:  Javascript External Script

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Читайте ещё по теме:

Источник

Convert a list of strings and a list of numbers to each other in Python

This article explains how to convert a list of strings ( str ) and a list of numbers ( int , float ) to each other in Python.

List comprehensions, which are useful for creating new lists from existing ones, are used in the sample code in this article. See the following article for details about list comprehensions.

See the following article for more details on converting strings to numbers.

Convert a list of numbers ( int , float ) to a list of strings ( str )

Convert numbers to decimal strings

The str() function is used to convert numbers into decimal strings.

l_n = [-0.5, 0, 1.0, 100, 1.2e-2, 0xff, 0b11] l_n_str = [str(n) for n in l_n] print(l_n_str) # ['-0.5', '0', '1.0', '100', '0.012', '255', '3'] 

Note that numbers may be automatically expressed in exponential notation depending on the number of digits.

Convert numbers to binary, octal, and hexadecimal strings

To convert numbers into binary, octal, or hexadecimal strings, use bin() , oct() , hex() , or format() .

l_i = [0, 64, 128, 192, 256] l_i_hex1 = [hex(i) for i in l_i] print(l_i_hex1) # ['0x0', '0x40', '0x80', '0xc0', '0x100'] l_i_hex2 = [format(i, '04x') for i in l_i] print(l_i_hex2) # ['0000', '0040', '0080', '00c0', '0100'] l_i_hex3 = [format(i, '#06x') for i in l_i] print(l_i_hex3) # ['0x0000', '0x0040', '0x0080', '0x00c0', '0x0100'] 

Convert numbers to exponential strings

As previously mentioned, some numbers might be automatically represented in exponential notation, depending on their digit count. The format() function allows explicit conversion into exponential strings.

For details about format() and str.format() , including format specification strings, see the following article.

If you specify E instead of e as an argument, the output string will also include E .

l_f = [0.0001, 123.456, 123400000] l_f_e1 = [format(f, 'e') for f in l_f] print(l_f_e1) # ['1.000000e-04', '1.234560e+02', '1.234000e+08'] l_f_e2 = [format(f, '.3E') for f in l_f] print(l_f_e2) # ['1.000E-04', '1.235E+02', '1.234E+08'] 

Convert a list of strings ( str ) to a list of numbers ( int , float )

Convert decimal strings to numbers

Use int() or float() to convert a string to a number.

l_si = ['-10', '0', '100'] l_si_i = [int(s) for s in l_si] print(l_si_i) # [-10, 0, 100] l_sf = ['.123', '1.23', '123'] l_sf_f = [float(s) for s in l_sf] print(l_sf_f) # [0.123, 1.23, 123.0] 

Convert binary, octal, and hexadecimal strings to numbers

The int() function accepts a radix as a second argument. It treats strings as binary, octal, or hexadecimal numbers if the second argument is 2 , 8 , or 16 .

If 0 is passed as the second argument to int() , strings prefixed with 0b , 0o or 0x ( 0B , 0O or 0X ) are recognized as binary, octal, or hexadecimal numbers.

l_sb = ['0011', '0101', '1111'] l_sb_i = [int(s, 2) for s in l_sb] print(l_sb_i) # [3, 5, 15] l_sbox = ['100', '0b100', '0o77', '0xff'] l_sbox_i = [int(s, 0) for s in l_sbox] print(l_sbox_i) # [100, 4, 63, 255] 

Convert exponential strings to numbers

Strings in exponential notation can be converted directly with float() .

l_se = ['1.23e3', '0.123e-1', '123'] l_se_f = [float(s) for s in l_se] print(l_se_f) # [1230.0, 0.0123, 123.0] 

Convert only convertible strings to numbers

Attempting to convert a non-convertible string into a number with int() or float() throws a ValueError . To prevent this, define a function that returns False when an error occurs. This way, only convertible elements will be converted into numbers.

def is_int(s): try: int(s) except ValueError: return False else: return True def is_float(s): try: float(s) except ValueError: return False else: return True l_multi = ['-100', '100', '1.23', '1.23e2', 'one'] l_multi_i = [int(s) for s in l_multi if is_int(s)] print(l_multi_i) # [-100, 100] l_multi_f = [float(s) for s in l_multi if is_float(s)] print(l_multi_f) # [-100.0, 100.0, 1.23, 123.0] 

Refer to the following article for more on exception handling.

Читайте также:  Html css for mobile

Источник

How to Convert List of Strings to Ints in python : 4 Methods

Typeerror takes 1 positional argument but 2 were given

Do you want to Convert List of Strings to Ints in python? If yes then you have come to the right place. In this entire post, you will know the various methods to convert the list of strings to int in python.

Methods to Convert List of Strings to Ints in python

Before going to the methods let’s create a sample list of strings. The list contains all the numerical values, but of string type. Let’s create them.

Sample list of strings

You can see in the above figure all the numerical values are in a single quote. It clearly represents that all these are strings.

Method 1: Convert String Array to Int array using python map

In this method, I will use the Python map() function to achieve the results. Just pass your string array and typecast the results to the list(). And you will get the list of int.

Execute the following code.

Convert String Array to Int array using python map

Output

Method 2: Convert List of strings to ints using list comprehension in python

The second method to convert string to int is using the list comprehension in python. Inside the list comprehension, there will be a loop that converts a string to int.

Execute the following code.

Convert List of strings to int using list comprehension

Method 3: Convert List of strings to ints using a new list

You can also convert list of strings to ints by using the new or fresh list. After that, you have to append all the converted strings to that list. And if you print the new list, you will get all the values as int.

You can see in the above code in each iteration of the loop, the value is typecasting to int and appending to the int_list.

Convert List of strings to ints using new list

Output

Method 4: Convert strings to ints in python using NumPy array

In this method, I will use the NumPy python module for conversion. First I will convert the strings list to NumPy array. And then change the type of the array to int using the astype(“int”). Lastly, convert it again to the list.

Execute the following lines of code.

Convert List of strings to ints using numpy module

Output

Conclusion

These are the methods to Convert List of Strings to Ints in python. All methods are great and it depends on your usage. Hope We have solved your queries you are searching for. Even if you have any queries then you can contact us for more information. We are always ready to help you.

Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

We respect your privacy and take protecting it seriously

Thank you for signup. A Confirmation Email has been sent to your Email Address.

Источник

Оцените статью