Python Изменение элементов списка
Чтобы изменить значение определенного элемента, обратитесь к номеру индекса:
Пример
Измените второй элемент:
thislist = [«яблоко», «банан», «вишня»]
thislist[1] = «черная смородина»
print(thislist)
Изменить диапазон значений элемента
Чтобы изменить значение элементов в определенном диапазоне, определите список с новыми значениями и обратитесь к диапазону номеров индексов, в которые вы хотите вставить новые значения:
Пример
Замените значения «банан» и «вишня» на значения «черная смородина» и «арбуз»:
thislist = [«яблоко», «банан», «вишня», «апельсин», «киви», «манго»]
thislist[1:3] = [«черная смородина», «арбуз»]
print(thislist)
Если вы вставите больше элементов, чем замените, новые элементы будут вставлены туда, куда вы указали, а оставшиеся элементы будут перемещены соответствующим образом:
Пример
Измените второе значение, заменив его двумя новыми значениями:
thislist = [«яблоко», «банан», «вишня»]
thislist[1:2] = [«черная смородина», «арбуз»]
print(thislist)
Примечание: Длина списка изменится, если количество вставленных элементов не совпадает с количеством замененных элементов.
Если вы вставите меньше элементов, чем замените, новые элементы будут вставлены туда, где вы указали, а оставшиеся элементы будут перемещены соответствующим образом:
Пример
Измените второе и третье значение, заменив его одним значением:
thislist = [«яблоко», «банан», «вишня»]
thislist[1:3] = [«арбуз»]
print(thislist)
Вставить элементы
Чтобы вставить новый элемент списка, не заменяя ни одно из существующих значений, мы можем использовать метод insert().
Метод insert() вставляет элемент по указанному индексу:
Пример
Вставьте «арбуз» в качестве третьего элемента:
thislist = [«яблоко», «банан», «вишня»]
thislist.insert(2, «арбуз»)
print(thislist)
Примечание: В результате приведенного выше примера список теперь будет содержать 4 элемента.
Мы только что запустили
SchoolsW3 видео
ВЫБОР ЦВЕТА
курс сегодня!
Сообщить об ошибке
Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:
Ваше предложение:
Спасибо Вам за то, что помогаете!
Ваше сообщение было отправлено в SchoolsW3.
ТОП Учебники
ТОП Справочники
ТОП Примеры
Получить сертификат
SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.
Списки
Список в Python – это встроенный тип (класс) данных, представляющий собой одну из разновидностей структур данных. Структуру данных можно представить как сложную единицу, объединяющую в себе группу более простых. Каждая разновидность структур данных имеет свои особенности. Список – это изменяемая последовательность произвольных элементов.
В большинстве других языков программирования есть такой тип данных как массив. В Питоне такого встроенного типа нет. Однако при знакомстве с программированием списки условно можно считать аналогом массивов за одним исключением. Составляющие массив элементы должны принадлежать одному типу данных, для списков такого ограничения нет.
Например, массив может содержать только целые числа или только вещественные числа или только строки. Список также может содержать элементы исключительно одного типа, что делает его похожим на массив. Но вполне допустимо, чтобы в одном списке содержались как числа, так и строки или иные типы данных.
Создавать списки можно разными способами. Создадим его простым перечисление элементов:
>>> a = [12, 3.85, "black", -4] >>> a [12, 3.85, 'black', -4]
Итак, у нас имеется список, присвоенный переменной a . В Python список определяется квадратными скобками. Он содержит четыре элемента. Если где-то в программе нам понадобится весь этот список, мы получим доступ к нему, указав всего лишь одну переменную – a .
Элементы в списке упорядочены, то есть имеет значение, в каком порядке они расположены. Каждому элементу соответствует свой индекс, или номер. Индексация начинается с нуля. В данном случае число 12 имеет индекс 0, строка «black» – индекс 2. Чтобы извлечь определенный элемент, надо после имени переменной указать в квадратных скобках его индекс:
>>> a = [12, 3.85, "black", -4] >>> a[0] 12 >>> a[3] -4
В Python существует также индексация с конца. Она начинается с -1:
>>> a[-1] -4 >>> a[-2] 'black' >>> a[-3], a[-4] (3.85, 12)
Часто требуется извлечь не один элемент, а так называемый срез – часть списка. В этом случае указывается индекс первого элемента среза и индекс следующего за последним элементом среза:
>>> a[0:2] [12, 3.85]
В данном случае извлекаются первые два элемента с индексами 0 и 1. Элемент с индексом 2 в срез уже не входит. В таком случае возникает вопрос, как извлечь срез, включающий в себя последний элемент? Если какой-либо индекс не указан, то считается, что имеется в виду начало или конец:
>>> a = [12, 3.85, "black", -4] >>> a[:3] [12, 3.85, 'black'] >>> a[2:] ['black', -4] >>> a[:] [12, 3.85, 'black', -4]
Списки – изменяемые объекты. Это значит, что в них можно добавлять элементы, удалять их, изменять существующие. Проще всего изменить значение элемента. Для этого надо обратиться к нему по индексу и перезаписать значение в заданной позиции:
>>> a[1] = 4 >>> a [12, 4, 'black', -4]
Добавлять и удалять лучше с помощью специальных встроенных методов списка:
>>> a.append('wood') >>> a [12, 4, 'black', -4, 'wood'] >>> a.insert(1, 'circle') >>> a [12, 'circle', 4, 'black', -4, 'wood'] >>> a.remove(4) >>> a [12, 'circle', 'black', -4, 'wood'] >>> a.pop() 'wood' >>> a [12, 'circle', 'black', -4] >>> a.pop(2) 'black' >>> a [12, 'circle', -4]
Перечень всех методов списка можно узнать с помощью встроенной в Python функции dir() , передав в качестве аргумента переменную, связанную со списком, или название класса (в данном случае – list ). В полученном из dir() списке надо смотреть имена без двойных подчеркиваний.
Для получения информации о конкретном методе следует воспользоваться встроенной функцией help() , передав ей в качестве аргумента имя метода, связанное с объектом или классом. Например, help(a.pop) или help(list.index) . Выход из справки – q.
Можно изменять списки не используя методы, а с помощью взятия и объединения срезов:
>>> b = [1, 2, 3, 4, 5, 6] >>> b = b[:2] + b[3:] >>> b [1, 2, 4, 5, 6]
Здесь берется срез из первых двух элементов и срез, начиная с четвертого элемента (индекс 3) и до конца. После чего срезы объединяются с помощью оператора «сложения».
Можно изменить не один элемент, а целый срез:
>>> mylist = ['ab','ra','ka','da','bra'] >>> mylist[0:2] = [10, 20] >>> mylist [10, 20, 'ka', 'da', 'bra']
Пример создания пустого списка с последующим заполнением его в цикле случайными числами:
>>> import random >>> c = [] >>> i = 0 >>> while i < 10: . c.append(random.randint(0,100)) . i += 1 . >>> c [30, 44, 35, 77, 53, 44, 49, 17, 61, 82]
Практическая работа
- Напишите программу, которая запрашивает с ввода восемь чисел, добавляет их в список. На экран выводит их сумму, максимальное и минимальное из них. Для нахождения суммы, максимума и минимума воспользуйтесь встроенными в Python функциями sum() , max() и min() .
- Напишите программу, которая генерирует сто случайных вещественных чисел и заполняет ими список. Выводит получившийся список на экран по десять элементов в ряд. Далее сортирует список с помощью метода sort() и снова выводит его на экран по десять элементов в строке. Для вывода списка напишите отдельную функцию, в качестве аргумента она должна принимать список.
Примеры решения и дополнительные уроки в pdf-версии курса
X Скрыть Наверх
Python. Введение в программирование
Пытаюсь изменить элемент двумерного списка
Привет) В строчке self.POLE[col][row] = a[result] я меняю один элемент двумерного списка, а у меня получается кака-то фигня. Он как будто проходит по всем спискам и меняет в них нужный мне элемент. Я знаю, что скорее всего это что-то очевидное, но я не понимаю в чём проблема и как это исправить.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
def kras(POLE, x, y): b = [(x + 1, y + 1), (x - 1, y - 1), (x - 1, y + 1), (x + 1, y - 1), (x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1)] return list(filter(lambda z: z[0] in range(0, 10) and z[1] in range(0, 10), b)) class SeaMap: def __init__(self): self.POLE = [['.'] * 10] * 10 def shoot(self, row, col, result): a = {'miss': '*', 'hit': 'x'} self.POLE[col][row] = a[result] print(self.POLE[row][col], a[result], col, row, self.POLE[col]) '''if result == 'sink': for i in kras(self.POLE, row, col): self.POLE[i[1]][i[0]] = '*' ''' def cell(self, row, col): return self.POLE[col][row] sm = SeaMap() sm.shoot(2, 0, 'miss') sm.shoot(6, 9, 'miss') for row in range(10): for col in range(10): print(sm.cell(row, col), end='') print()
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Найти максимальный элемент вводимого двумерного списка
Найти максимальный элемент вводимого двумерного списка целых чисел размера m x n.

Вывести элемент двумерного списка
Алексей проявил интерес к двумерным спискам. Тем более что задача оказалось совсем простой.
Изменить тип списка и выбрать случайный элемент из списка, который ввел пользователь
Помогите пожалуйста изменить тип списка с integer в string. Я паскаль только изучаю и не могу.

Изменить элемент во время фильтрации списка
Господа здравствуйте. Помогите плиз. Если я фильтрую список объектов. Как мне одновременно.
Список стран. Как изменить элемент списка?
Список стран Задание: Например: Nepal сменить на Nepal Federation в этом списке
Изменение элементов в списке
Синтаксис изменения элемента напоминает синтаксис обращения к элементу списка. Чтобы изменить элемент, укажите имя списка и индекс изменяемого элемента в квадратных скобках; далее задайте новое значение, которое должно быть присвоено элементу.
Допустим, имеется список мотоциклов, и первым элементом списка хранится строка ‘honda’. Как изменить значение первого элемента?
(1) motorcycles = [‘honda’, ‘yamaha’, ‘suzuki’]
В точке (1) определяется исходный список, в котором первый элемент содержит строку ‘honda’. В точке (2) значение первого элемента заменяется строкой ‘ducati’. Из вывода видно, что первый элемент действительно изменился, а остальные элементы списка сохранили прежние значения:
[‘honda’, ‘yamaha’, ‘suzuki’]
[‘ducati’, ‘yamaha’, ‘suzuki’]
Изменить можно значение любого элемента в списке, не только первого.
