#В списки можно втроить другие списки #Индекс первого элемента - 0 lis = [23, 15, 's', ['h', 'e', '1',]] print(lis) print(lis[2]) print(lis[3]) print(lis[3][1]) print("\n") for i in lis: print(i) for i in range(0, 4): lis[i] *= 2 print(lis) #Добавление элемента в список lis.append(2011) print(lis) #Удаление элемента из списка #по значению lis.remove(46) print(lis) #по индексу lis.pop(0) print(lis) #Вставка элемента в определённое место #1 - индекс, 9 - элемент lis.insert(1, 9) print(lis) #Узнать индекс элемента print(lis.index(9)) #Вывод элементов в конце списка print("Индекс числа", lis[-1]," = ", lis.index(2011)) #Вывод определённой части списка (Среза) (Старт:финиш:шаг) print(lis[1:-2:1]) print(lis[2:]) print(lis[2:len(lis)]) #Очистка списка lis.clear() print(lis) #В списки можно вкладывать списки, тем самым создавая матрицы M = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print('\n', M) #Генератор, возвращающий суммы элементов строк G = (sum(elements) for elements in M) #Вызов в соответствии с протоколом итераций print(next(G)) print(next(G)) #То же, но по другому summ = list(map(sum, M)) print(summ) #Вывод столбца #Получить элементы row[1] из каждой строки матрицы M исоздать из них новый список #Здесь переменной row присваивается элемент списка M (который сам является списком), а переменной col2 #присваивается 2 элемент списка row. И так для каждого элемента списка M. col2 = [row[1] for row in M] print(col2) #Генератор списков doubles = [c * 2 for c in 'spam'] print(doubles)