python course for me
November 7, 2023
Stepik: Вложенные списки, многомерные списки
# одномерный список line = [1, 7, 6, 11, 3] # двумерный список img = [[1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]]
Можно обращаться к каждому элементу каждого подсписка
img = [[1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]] print(img[0][1]) # Вывод: 7
Так же можно заменить каждый подсписок и каждый элемент подсписка
img = [[1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]] img[1] = [0, 0, 0, 0, 0] print(img) # Вывод: [[1, 7, 6, 11, 3], [0, 0, 0, 0, 0], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]] img[1][0] = [[1, 7, 6, 11, 3], [1, 0, 0, 0, 0], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]] print(img) # Вывод: 7 # Можно было записать еще и таким способом: img = [[1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]] img[1] = [0] * 5 print(img) # Вывод: [[1, 7, 6, 11, 3], [0, 0, 0, 0, 0], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]]
В случае img[1] = [0] * 5
мы заменили полностью второй подсписок на новый.
Если нужно заменить элементы подсписка полностью на другие, то делается это через срез
img = [[1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]] img[1][:] = [1] * 5 print(img) # Вывод: [[1, 7, 6, 11, 3], [1, 1, 1, 1, 1], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3], [1, 7, 6, 11, 3]]
Вложенные списки
t = [ ['Люблю', 'тебя', 'Петра', 'творенье'], ['Люблю', 'твой', 'строгий', 'стройный', 'вид'], ['Невы', 'державное', 'теченье'], ['Береговой', 'ее', 'гранит'] ] print(t)
Можно применить следующие методы
print(t[0]) # Вывод: ['Люблю', 'тебя', 'Петра', 'творенье'] print(t[0][2]) # Вывод: Петра t[0][2] = 'Python' print(t[0]) # Вывод: ['Люблю', 'тебя', 'Python', 'творенье'] t.append(['Твоих', 'оград', 'узор', 'чугунный']) print(t) # Вывод: [['Люблю', 'тебя', 'Python', 'творенье'], ['Люблю', 'твой', 'строгий', 'стройный', 'вид'], ['Невы', 'державное', 'теченье'], ['Береговой', 'ее', 'гранит'], ['Твоих', 'оград', 'узор', 'чугунный']] del t[1] print(t) # Вывод: [['Люблю', 'тебя', 'Python', 'творенье'], ['Невы', 'державное', 'теченье'], ['Береговой', 'ее', 'гранит'], ['Твоих', 'оград', 'узор', 'чугунный']]
Пример многомерного списка с разными уровнями вложенности
A = [[[True, False], [1, 2, 3]], ['матрица', 'вектор']] print(A) # Вывод: [[[True, False], [1, 2, 3]], ['матрица', 'вектор']] print(A[0], A[1]) # Вывод: [[True, False], [1, 2, 3]] ['матрица', 'вектор'] print(A[0][1][0]) # Вывод: 1