Я ежедневно собирал данные о потреблении электроэнергии в жилых домах. Данные были представлены в виде списка, где каждое значение состояло из двух элементов: первый указывал температуру, а второй — потребляемую мощность в мегаватт-часах.

Мне нужно было разделить каждое строковое значение на два отдельных элемента и сохранить их в отдельном списке. Для этого я использовал методы Split() и Extend() в Python.

С использованием методов Split() и Extend()

Метод split() в Python разделяет заданную строку на части, используя указанный разделитель. Метод extend() добавляет элементы в конец списка.

Ниже приведен синтаксис использования метода Split().

str.split(separator, maxsplit)

Где:

  • separator: это разделитель, по которому данная строка разделяется или разделяется, если этот разделитель не указан, то строка разделяется по умолчанию на основе любых пробелов.
  • maxsplit: используется для указания количества разбиений, которые вы хотите сделать, по умолчанию это -1, что означает отсутствие ограничений.

Кроме того, синтаксис метода expansion() приведен ниже.

list_name.extend(items)

Где:

  • list_name: имя списка, для которого вызывается метод expansion() для добавления элементов вида в конец этого списка.
  • Extend(): этот метод принимает элемент и добавляет его в конец списка.
  • элементы: это время, которое может быть строкой, числом и т. д., которое вы хотите добавить в список.

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

Каждая строка содержит два значения, разделённых запятой, как показано ниже.

power_consumtion_on_tem = ['15,30', '20,27', '25,25', '30,28', '35,32', '40,38']

Как вы могли заметить, каждая строка в списке представлена в формате «15, 30». Ваша задача — разделить каждую строку запятой и добавить полученные значения в новый список. Для этого можно воспользоваться функциями Split() и Extend(). Вот как это можно сделать:

newlist = []
for item in power_consumtion_on_temp :
    item = item.split(",")
    newlist.extend(item)

После выполнения приведенного выше кода распечатайте «новый список», как показано в коде ниже.

print(newlist)

Список Python, разделенный запятой с использованием методов Split() и Extend()

Посмотрите на результат: в списке «newlist» содержатся все строковые значения списка «power_consumtion_on_temp». Как вы можете видеть, в новом списке каждое строковое значение отделено запятой.

Давайте разберёмся с частью кода: «для элемента в power_consumtion_on_temp:». Эта строка запускает цикл, который перебирает каждое строковое значение из списка «power_consumtion_on_temp».

Следующая строка кода внутри цикла — это «item = item.split(“,”)». Она принимает каждую строку и использует метод Split(‘,’) с запятой в качестве аргумента. Этот метод разделяет текущее значение строки на основе запятой.

Наконец, строка кода «newlist.extend(item)» вызывает метод «extend()» с разделёнными строковыми значениями в качестве аргумента метода «extend()». Это добавляет эти строковые значения в новый список, который называется «newlist».

Таким образом, в результате «новый список» содержит все строки, разделенные запятыми, например [’15’, ’30’, ’20’, ’27’, ’25’, ’25’, ’30’, ’28 ‘, ’35’, ’32’, ’40’, ’38’].

Используя понимание списка

Понимание списка — это способ перебора элементов списка, выполнения над ними определённых операций и возврата результата в виде нового списка.

Чтобы разделить список в Python, нужно использовать два цикла, которые будут работать внутри списка. Например:

power_consumtion_on_tem = ['15,30', '20,27', '25,25', '30,28', '35,32', '40,38']

Используйте понимание списка, как показано в коде ниже, чтобы разделить строку на части, разделённые запятыми.

new_data = [item for data in power_consumtion_on_temp for item in data.split(',')]

print(new_data)

Как разделить список в Python запятой, используя понимание списка

Посмотрите на результат: понимание списка также разделяет строку в списке запятой.

Давайте рассмотрим, как два цикла внутри списка дают такой результат. Первый цикл for — это «for data in power_consumtion_on_temp», он обозначен жёлтой стрелкой на рисунке.

Этот цикл перебирает каждую строку списка power_consumtion_on_temp. Это означает, что он обращается к каждой строке списка и сохраняет ссылку на строку в «данных». Затем для каждых «данных» новый цикл вызывает метод Split(‘,’) с разделителем в виде запятой. Этот метод разделяет данные запятой.

Затем отдельные строковые значения заполняются в список с использованием «элемента» в начале списка. Для каждого набора данных выполняется операция разделения(‘,’). Каждый набор данных разделяется запятой, а затем разделённые данные добавляются в список.

В результате после перебора каждого строкового значения в списке создается новый список с именем new_data, содержащий отдельное строковое значение списка, например: ‘[’15’, ’30’, ’20’, ’27’, ‘ 25′, ’25’, ’30’, ’28’, ’35’, ’32’, ’40’, ’38’]’.

Добавить комментарий