Автор оригинала: Evgeny Erunov.
Самый питонический сосособ преобразования Он перебирает все элементы в списке фс, используя понимание списка, и преобразует каждый элемент списка х в целочисленное значение с помощью конструктора с плавающей точкой (х).
В этой статье показыны простеишие способылы ПРЕОБРАЗОВАНИЯ ОДНОМЕРНОГО Списка , Состоящего Только из целых чисел, в Список Чисел с плаваю запятой Отказ
ПРОБЛЕМА : Дан Список целых числел [1, 2, 3]
Отказ Как это преобразование в Список Чисел с плаваю запятой [1.0, 2.0, 3.0]
?
Способылы неприменами к списку Списков. ПРИ НЕБХОДИМОСТИ МОЖНО Добавить циклы или Определить пользователями.
МЕТОД 1: СПИСОК
Предположим у нас есть Список:
a = [1, 3, 2, 1, 5, -2]
Проверим Тип Элементов Списка:
print(type(a[0])) #
Применим ВСТРОЕННУЮ ФУЕНКЦИЯ поплавок, Получим список состоищий из чисел с плавающей точкой:
print([float(i) for i in a]) # [1.0, 3.0, 2.0, 1.0, 5.0, -2.0]
Проверим Тип Чисел в Новом Списке:
A = [float(i) for i in a] print(type(A[0])) #
Таким образм, ИСПОЛЬЗУЯ ВСТРЕЕННУЮ ФУЕНКЦИЯ плавать , Мы можем однострочного кодом получить новый список чисел с плавающую точкой.
МЕТОД 2: Функция карта
Второенная функция карта , является хорошо оптимизированным и эффективным, при ее вызове элементов списка извлекается при обращении, а следовательно в памяти находится и обрабатывается один элемент, что позволяет программа не хранить в памяти системы всего списка элементов.
Применим к тому же списание «A» Код Ниже:
print(list(map(float, a))) # [1.0, 3.0, 2.0, 1.0, 5.0, -2.0]
Проверять тип Элементов Полученного Списка Мы не Будем, Так КАК ПРИЗОВЕ ФУНКЦИИ «карта» Передали в нереописанную в методе 1 функЦию «Поплавок» в качестве аргумента, азолтат Обернули в Список применения Функции ‘список’.
МЕТОД 3: Функция перечислять
ИСПОЛЬЗУЯ ВСТРЕЕННУЮ ФУНКЦИЮ «Перечислять», мы можем пройтись по элементу списание
for i, item in enumerate(a): a[i] = float(item) #[1.0, 3.0, 2.0, 1.0, 5.0, -2.0]
МЕТОД 4: Numpy
Здесь рассмортры преобразование Списка из ‘INT’ в массов C помощность модуля numpy. Отличие массива от списка – все элементы массива должны быть одного типа, как «плавать» и ‘INT’ Числовые операции с большим объемом данных можно проводить с массивами гораздо быстрее и эффективнее чем со списками..
Превратим наш Первый список ‘A’ Â Массив:
import numpy as np N = np.array(a, float) #[1., 3., 2., 1., 5., -2.]
.
Проверим Тип Элементов:
print(type(N[0])) #
В отличии от Типа Чисел ‘Float’ в Python в Модуле Numpy Определины Несколько ИнаЧе и разделины на Ненеколько подгрупп. Например, ‘float64’ – это числовой тип данных NumPy, используемый для хранения вещественных чисел двойной точности, в которых 1 бит отводится под знак, 11 бит для экспоненты и 52 для мантиссы, ‘float32’ – содержит 1 бит для знака, 8 бит для ЭКСПОНЕНТЫ И 23 ДЛЯ МАНТИССЫ, ‘FLOAT16’ – 1 БИТ Отводится под Знак, 5 БИТ ЭКСПОНТЕ И 10 ДЛЯ МАНТИССЫ. Это обязательно надо учиты ПРИ вычисления с массивами.