Выведите все элементы списка с четными индексами питон

Выведите все элементы списка с четными индексами питон

Со списками, так же как и со строками, можно делать срезы. А именно:

A[i:j] срез из j-i элементов A[i] , A[i+1] , . A[j-1] .

A[i:j:-1] срез из i-j элементов A[i] , A[i-1] , . A[j+1] (то есть меняется порядок элементов).

A[i:j:k] срез с шагом k : A[i] , A[i+k] , A[i+2*k] . . Если значение k i или j может отсутствовать, что означает «начало строки» или «конец строки»

Списки, в отличии от строк, являются изменяемыми объектами: можно отдельному элементу списка присвоить новое значение. Но можно менять и целиком срезы. Например:

Получится список, у которого вместо двух элементов среза A[2:4] вставлен новый список уже из трех элементов. Теперь список стал равен [1, 2, 7, 8, 9, 5] .

Получится список [40, 2, 30, 4, 20, 6, 10] . Здесь A[::-2] — это список из элементов A[-1] , A[-3] , A[-5] , A[-7] , которым присваиваются значения 10, 20, 30, 40 соответственно.

Если не непрерывному срезу (то есть срезу с шагом k , отличному от 1), присвоить новое значение, то количество элементов в старом и новом срезе обязательно должно совпадать, в противном случае произойдет ошибка ValueError .

Обратите внимание, A[i] — это элемент списка, а не срез!

Упражнения

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

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

Для многих упражнений написано, какое наибольшее число строк может быть в программе. Как правило, ограничения будут или в одну строку, или в три строки.

Если программа решается в одну строку, то необходимо использовать функции внутри функций. Например, вот так можно вычислить сумму всех чисел, введенных в строку, используя стандартную функцию sum :

Обратите внимание, в однострочном решении нельзя сохранять список в переменной — нужно сразу же его обработать и вывести результат.

Решение в две строки, как правило, должно иметь следующий вид:

При этом зачастую не требуется преобразовывать элементы списка к типу int .

Решение в три строки, как правило, должно иметь следующий вид:

A: Четные индексы

Выведите все элементы списка с четными индексами

Источник

Индексы и срезы в Python

Строки и списки в Python состоят из элементов, занимающих свои нумерованные позиции в иерархии. К любому элементу, можно обратиться по его порядковому номеру — индексу. Отсчет начинается с нуля и ведется слева направо.

Индекс строки в Python

Строка представляет собой упорядоченный набор символов. Это значит, что каждый символ в строке занимает свое место — индекс. Например, у строки ‘string’, символ ‘s’ имеет индекс 0 и далее по порядку:

Первый по счету символ в строке всегда будет иметь индекс 0. Таким образом, обратившись по индексу к элементу, мы можем узнать его значение. В чем и состоит смысл индексов. У пробела, так же есть индекс.

Так мы получим всю строку целиком:

get_str = ‘это строка’
print(get_str)
это строка

А здесь, обратившись по индексу 5, получаем его значение — символ ‘t’.

get_s = ‘это строка’
print(get_s[5])
t

При обращении к несуществующему индексу, программа выведет ошибку.

get_s = ‘это строка’
print(get_s[10])
IndexError: string index out of range

Отрицательный индекс

Мы знаем точно, что у первого символа строки всегда будет индекс 0. А как насчет последнего символа? Ведь длина строки не всегда заранее известна. Для закрепления постоянного индекса для последнего символа, Python вводит понятие отрицательного индекса и предлагает вести отсчет наоборот, справа налево.

P y t h o n
-6 -5 -4 -3 -2 -1

get_last = ‘Python’
print(get_last[-1])
n

Срез строки в Python

Иногда требуется получить из строки не один символ, а сразу несколько по некоторой закономерности — первые 2, каждый 3-ий или 4 последних. Для этого существуют срезы. Мы выборочно срезаем нужные символы и обращаемся по срезу. Надо отметить, что физически срезанные символы, остаются на своих местах. Сама строка никоим образом не меняется, мы работаем со срезанными копиями.

Возьмем первые три символа у строки ‘срезы Python’. В параметрах передадим два индекса — начало и конец среза. При срезе первый индекс входит включительно, а второй индекс не входит в выборку.

slice = ‘срезы Python’
print(slice[0:3])
сре #символ ‘з’ не попал в выборку

Если не указаны начало или конец среза, то по умолчанию берётся первый или последний элемент коллекции.

slice = ‘срезы Python’
print(slice[6:])
Python #с индекса 6 и до конца

slice = ‘срезы Python’
print(slice[:5])
срезы #с начала строки до 5-го индекса включительно

slice = ‘срезы Python’
print(slice[:])
срезы Python #выводит строку целиком

Третьим параметром у срезов, может передаваться шаг.

slice = ‘срезы Python’
print(slice[::2])
сеыPto #выводит символы через один

Индекс списка в Python

Список — это упорядоченная коллекция нумерованных элементов, где первый элемент начинается с нулевой позиции. Когда мы обратимся к 4-ому элементу, то получим 12.

a = [2, 3, 5, 9, 12, 16]
print(a[4])
12

Правила для индексов у списка, похожие для индексов у строк:

  • обращение к несуществующему элементу, выведет ошибку
  • первый индекс равен 0, а последний индекс -1

Заменить элемент в списке

Существует принципиальная разница — элементы в списках в отличие от элементов в строках можно заменять, удалять или добавлять. Мы обращаемся по индексу в 3-му элементу в списке d и присваиваем индексу новое значение. В результате произошла замена — 7 поменялась на 10.

d = [1, 3, 5, 7, 8]
d[3] = 10
print(d)
[1, 3, 5, 10, 8]

Удалить элемент из списка

Элемент со значением 15 под индексом 2, вылетел из списка.

f = [11, 13, 15, 17]
del f[2]
print(f)
[11, 13, 17]

Срез списка в Python

Со срезами у списков дело обстоит точно так же, как и у строк. Делаем выборку со 2-го индекса по 4-ый, не включая сам 4-ый индекс.

b = [21, 32, 54, 90, 22, 46]
print(b[2:4])
[54, 90]

Вывод четных элементов списка

Выведем все четные элементы списка, используя срезы. Первым параметром передаем 1-ый индекс, во втором параметре пишем двоеточие (по умолчанию выведется последний элемент списка) и третьим параметром указываем шаг для выводимых элементов.

c = [21, 22, 23, 24, 25, 26, 27]
print(c[1::2])
[22, 24, 26]

Итоги

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.

    Источник

    Взять из списка четные и нечетные индексы

    Помощь в написании контрольных, курсовых и дипломных работ здесь.

    Проверить правило «четные/нечетные элементы имеют четные/нечетные индексы»
    2.Программа осуществляет ввод массива из 150 эллементов. Затем она проверяет правило»четные.

    Преобразование массива. Нечетные индексы слева, четные индексы справа
    Добрый вечер. Задание таково: дан некоторый массив произвольной длины, требуется преобразовать его.

    четные и нечетные индексы массива
    У массиве з N елементов посчитать суму елементов с четными индексами и нечетными индексами. я в.

    Список: Взять исходный список SP и создать два новых списка SP1 и SP2. SP1 содержит нечетные узлы, а SP2 – четные
    Что-то карета не вывезла и превратилась в тыкву. не могу понять почему данные не записывают в.

    Решение

    Дана матрица. Найти четные, нечетные индексы и их сумму
    Дана действительная квадратная матрица А размера n * n. Вычислить суммы элементов матрицы, имеющих.

    Вычислить суммы элементов матрицы, имеющих четные и нечетные индексы отдельно
    Дана действительная квадратная матрица А размер nxn. Вычислить суммы элементов матрицы, имеющих.

    Вычислить суммы элементов матрицы, имеющих четные и нечетные индексы отдельно
    Дана действительная квадратная матрица А размера nxn. Вычислить суммы элементов матрицы, имеющих.

    чётные столбцы чётные индексы — нечётный столбцы нечетные
    Здравствуйте. Нужно заполнить массив так, чтобы у четных столбцов были четные индексы — а у.

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

    Элементы массива А, имеющие нечетные индексы переписать на четные места массива В
    Помогите, пожалуйста, решить: даны два массива A и B. Элементы массива А, имеющие нечетные индексы.

    Источник

    Список

    Список — это непрерывная динамическая коллекция элементов. Каждому элементу списка присваивается порядковый номер — его индекс. Первый индекс равен нулю, второй — единице и так далее. Основные операции для работы со списками — это индексирование, срезы, добавление и удаление элементов, а также проверка на наличие элемента в последовательности.

    Создание пустого списка выглядит так:

    Создадим список, состоящий из нескольких чисел:

    numbers = [ 40 , 20 , 90 , 11 , 5 ]

    Настало время строковых переменных:

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]

    Не будем забывать и о дробях:

    fractions = [ 3.14 , 2.72 , 1.41 , 1.73 , 17.9 ]

    Мы можем создать список, состоящий из различных типов данных:

    values = [ 3.14 , 10 , ‘Hello world!’ , False, ‘Python is the best’ ]

    И такое возможно (⊙_⊙)

    list_of_lists = [[ 2 , 4 , 0 ], [ 11 , 2 , 10 ], [ 0 , 19 , 27 ]]

    Индексирование

    Что же такое индексирование? Это загадочное слово обозначает операцию обращения к элементу по его порядковому номеру ( ( ・ω・)ア напоминаю, что нумерация начинается с нуля). Проиллюстрируем это на примере:

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    print (fruits[ 0 ])
    print (fruits[ 1 ])
    print (fruits[ 4 ])

    Списки в Python являются изме­няемым типом данных. Мы можем изменять содер­жимое каждой из ячеек:

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    fruits[ 0 ] = ‘Watermelon’
    fruits[ 3 ] = ‘Lemon’
    print (fruits)

    >>> [ ‘Watermelon’ , ‘Grape’ , ‘Peach’ , ‘Lemon’ , ‘Orange’ ]

    Индексирование работает и в обратную сторону. Как такое возможно? Всё просто, мы обра­щаемся к элементу списка по отрица­тельному индексу. Индекс с номе­ром -1 дает нам доступ к после­днему элементу, -2 к предпоследнему и так далее.

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    print (fruits[ -1 ])
    print (fruits[ -2 ])
    print (fruits[ -3 ])
    print (fruits[ -4 ])

    Создание списка с помощью list()

    Переходим к способам создания списка. Самый простой из них был приведен выше. Еще раз для закрепления:

    А есть еще способы? Да, есть. Один из них — создание списка с помощью функции list() В неё мы можем передать любой итерируемый объект (да-да, тот самый по которому можно запустить цикл (• ᵕ •) )

    Рассмотрим несколько примеров:

    letters = list ( ‘abcdef’ )
    numbers = list ( range ( 10 ))
    even_numbers = list ( range ( 0 , 10 , 2 ))
    print (letters)
    print (numbers)
    print (even_numbers)

    >>> [ ‘a’ , ‘b’ , ‘c’ , ‘d’ , ‘e’ , ‘f’
    >>> [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
    >>> [ 0 , 2 , 4 , 6 , 8 ]

    Длина списка

    С созданием списка вроде ра­зобрались. Следующий вопрос: как узнать длину списка? Можно, конечно, просто посчитать количество элементов. (⊙_⊙) Но есть способ получше! Функция len() возвращает длину любой итерируемой переменной, переменной, по которой можно запустить цикл. Рассмотрим пример:

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    print ( len (fruits))

    numbers = [ 40 , 20 , 90 ]
    print ( len (numbers))

    «. любой итерируемой», а это значит:

    string = ‘Hello world’
    print ( len (string))
    # 11

    print ( len ( range ( 10 ))

    Срезы

    В начале статьи что-то гово­рилось о «срезах». Давайте разберем подробнее, что это такое. Срезом называется неко­торая подпос­ледователь­ность. Принцип действия срезов очень прост: мы «отре­заем» кусок от исходной последова­тель­ности элемента, не меняя её при этом. Я сказал «последо­вательность», а не «спи­сок», потому что срезы работают и с другими итерируемыми типами данных, например, со строками.

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    part_of_fruits = fruits[ 0 :3]
    print (part_of_fruits)

    >>> [ ‘Apple’ , ‘Grape’ , ‘Peach’ ]

    Детально рассмотрим синтаксис срезов:

    итерируемая_переменная[начальный_индекс:конечный_индекс — 1 :длина_шага]

    Обращаю ваше внимание, что мы делаем срез от начального индекса до конечного индекса — 1. То есть i = начальный_индекс и i = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    print (fruits[ 0 :1])
    # Если начальный индекс равен 0, то его можно опустить
    print (fruits[: 2 ])
    print (fruits[: 3 ])
    print (fruits[: 4 ])
    print (fruits[: 5 ])
    # Если конечный индекс равен длине списка, то его тоже можно опустить
    print (fruits[: len (fruits)])
    print (fruits[::])

    >>> [ ‘Apple’ ]
    >>> [ ‘Apple’ , ‘Grape’ ]
    >>> [ ‘Apple’ , ‘Grape’ , ‘Peach’ ]
    >>> [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ ]
    >>> [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    >>> [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    >>> [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]

    Самое время понять, что делает третий параметр среза — длина шага!

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    print (fruits[:: 2 ])
    print (fruits[:: 3 ])
    # Длина шага тоже может быть отрицательной!
    print (fruits[:: -1 ])
    print (fruits[ 4 :2: -1 ])
    print (fruits[ 3 :1: -1 ])

    >>> [ ‘Apple’ , ‘Peach’ , ‘Orange’ ]
    >>> [ ‘Apple’ , ‘Banan’ ]
    >>> [ ‘Orange’ , ‘Banan’ , ‘Peach’ , ‘Grape’ , ‘Apple’ ]
    >>> [ ‘Orange’ , ‘Banan’ ]
    >>> [ ‘Banan’ , ‘Peach’ ]

    А теперь вспоминаем всё, что мы знаем о циклах. В Python их целых два! Цикл for и цикл while Нас интересует цикл for, с его помощью мы можем перебирать зна­чения и индексы наших последовательностей. Начнем с перебора значений:

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    f or fruit in fruits:
    print (fruit, end = ‘ ‘ )

    >>> Apple Grape Peach Banan Orange

    Выглядит несложно, правда? В переменную fruit объявлен­ную в цикле по очереди записываются значения всех элементов списка fruits

    А что там с перебором индексов?

    f or index in range ( len (fruits)):
    print (fruits[index], end = ‘ ‘ )

    Этот пример гораздо интереснее предыдущего! Что же здесь происходит? Для начала разбе­ремся, что делает функция range(len(fruits))

    Мы с вами знаем, что функция len() возвращает длину списка, а range() генерирует диапазон целых чисел от 0 до len()-1.

    Сложив 2+2, мы получим, что переменная index принимает значения в диапазоне от 0 до len()-1. Идем дальше, fruits[index] — это обращение по индексу к элементу с индексом index списка fruits. А так как переменная index принимает значения всех индексов списка fruits, то в цикле мы переберем значения всех элементов нашего списка!

    Операция in

    С помощью in мы можем проверить наличие элемента в списке, строке и любой другой итерируемой переменной.

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    if ‘Apple’ in fruits:
    print ( ‘В списке есть элемент Apple’ )

    >>> В списке есть элемент Apple

    fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    if ‘Lemon’ in fruits:
    print ( ‘В списке есть элемент Lemon’ )
    else :’
    print ( ‘В списке НЕТ элемента Lemon’ )

    >>> В списке НЕТ элемента Lemon

    Приведу более сложный пример:

    all_fruits = [ ‘Apple’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Orange’ ]
    my_favorite_fruits = [ ‘Apple’ , ‘Banan’ , ‘Orange’ ]
    f or item in all_fruits:
    if item in my_favorite_fruits:
    print (item + ‘ is my favorite fruit’ )
    else :
    print ( ‘I do not like ‘ + item)

    >>> Apple is my favorite fruit
    >>> I do not like Grape
    >>> I do not like Peach
    >>> Banan is my favorite fruit
    >>> Orange is my favorite fruit

    Методы для работы со списками

    Начнем с метода append(), который добавляет элемент в конец списка:

    # Создаем список, состоящий из четных чисел от 0 до 8 включительно
    numbers = list ( range ( 0 ,10, 2 ))
    # Добавляем число 200 в конец списка
    numbers. append ( 200 )
    numbers. append ( 1 )
    numbers. append ( 2 )
    numbers. append ( 3 )
    print (numbers)

    >>> [ 0 , 2 , 4 , 6 , 8 , 200 , 1 , 2 , 3 ]

    Мы можем передавать методу append() абсолютно любые значения:

    all_types = [ 10 , 3.14 , ‘Python’ , [ ‘I’ , ‘am’ , ‘list’ ]]
    all_types. append ( 1024 )
    all_types. append ( ‘Hello world!’ )
    all_types. append ([ 1 , 2 , 3 ])
    print (all_types)

    >>> [ 10 , 3.14 , ‘Python’ , [ ‘I’ , ‘am’ , ‘list’ ], 1024 , ‘Hello world!’ , [ 1 , 2 , 3 ]]

    Метод append() отлично выпол­няет свою функцию. Но, что делать, если нам нужно добавить элемент в сере­дину списка? Это умеет метод insert(). Он добавляет элемент в список на произ­вольную позицию. insert() принимает в качестве первого аргу­мента позицию, на которую нужно вставить элемент, а вторым — сам элемент.

    # Создадим список чисел от 0 до 9
    numbers = list ( range ( 10 ))
    # Добавление элемента 999 на позицию с индексом 0
    numbers. insert ( 0 , 999 )
    print (numbers) # первый print
    numbers. insert ( 2 , 1024 )
    print (numbers) # второй print
    numbers. insert ( 5 , ‘Засланная строка-шпион’ )
    print (numbers) # третий print

    >>> [ 999 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] # первый print
    >>> [ 999 , 0 , 1024 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] # второй print
    >>> [ 999 , 0 , 1024 , 1 , 2 , ‘Засланная строка-шпион’ , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] # третий print

    Отлично! Добавлять элементы в список мы научи­лись, осталось понять, как их из него удалять. Метод pop() удаляет эле­мент из списка по его индексу:

    numbers = list ( range ( 10 ))
    print (numbers) # 1
    # Удаляем первый элемент
    numbers. pop ( 0 )
    print (numbers) # 2
    numbers. pop ( 0 )
    print (numbers) # 3
    numbers. pop ( 2 )
    print (numbers) # 4
    # Чтобы удалить последний элемент, вызовем метод pop без аргументов
    numbers. pop ()
    print (numbers) # 5
    numbers. pop ()
    print (numbers) # 6

    >>> [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] # 1
    >>> [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] # 2
    >>> [ 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] # 3
    >>> [ 2 , 3 , 5 , 6 , 7 , 8 , 9 ] # 4
    >>> [ 2 , 3 , 5 , 6 , 7 , 8 ] # 5
    >>> [ 2 , 3 , 5 , 6 , 7 ] # 6

    Теперь мы знаем, как удалять элемент из списка по его инде­ксу. Но что, если мы не знаем индекса элемента, но знаем его значение? Для такого случая у нас есть метод remove(), кото­рый удаляет пер­вый найденный по значению элемент в списке.

    all_types = [ 10 , ‘Python’ , 10 , 3.14 , ‘Python’ , [ ‘I’ , ‘am’ , ‘list’ ]]
    all_types. remove ( 3.14 )
    print (all_types) # 1
    all_types. remove ( 10 )
    print (all_types) # 2
    all_types. remove ( ‘Python’ )
    print (all_types) # 3

    >>> [ 10 , ‘Python’ , 10 , ‘Python’ , [ ‘I’ , ‘am’ , ‘list’ ]] # 1
    >>> [ ‘Python’ , 10 , ‘Python’ , [ ‘I’ , ‘am’ , ‘list’ ]] # 2
    >>> [ 10 , ‘Python’ , [ ‘I’ , ‘am’ , ‘list’ ]] # 3

    А сейчас немного посчитаем, посчитаем эле­менты списка с помощью метода count()

    numbers = [ 100 , 100 , 100 , 200 , 200 , 500 , 500 , 500 , 500 , 500 , 999 ]
    print (numbers. count ( 100 )) # 1
    print (numbers. count ( 200 )) # 2
    print (numbers. count ( 500 )) # 3
    print (numbers. count ( 999 )) # 4

    В программировании, как и в жизни, проще работать с упоря­доченными дан­ными, в них легче ори­енти­ро­ваться и что-либо искать. Метод sort() сорти­рует список по воз­раста­нию значений его элементов.

    numbers = [ 100 , 2 , 11 , 9 , 3 , 1024 , 567 , 78 ]
    numbers. sort ()
    print (numbers) # 1
    fruits = [ ‘Orange’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Apple’ ]
    fruits. sort ()
    print (fruits) # 2

    >>> [ 2 , 3 , 9 , 11 , 78 , 100 , 567 , 1024 ] # 1
    >>> [ ‘Apple’ , ‘Banan’ , ‘Grape’ , ‘Orange’ , ‘Peach’ ] # 2

    Мы можем изменять порядок сортировки с помощью пара­метра reverse. По умол­чанию этот параметр равен False

    fruits = [ ‘Orange’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Apple’ ]
    fruits. sort ()
    print (fruits) # 1
    fruits. sort (reverse = True)
    print (fruits) # 2

    >>> [ ‘Apple’ , ‘Banan’ , ‘Grape’ , ‘Orange’ , ‘Peach’ ] # 1
    >>> [ ‘Peach’ , ‘Orange’ , ‘Grape’ , ‘Banan’ , ‘Apple’ ] # 2

    Иногда нам нужно перевернуть список, не спраши­вайте меня зачем. Для этого в самом лучшем языке прог­рам­миро­вания на этой планете JavaScr..­Python есть метод reverse():

    numbers = [ 100 , 2 , 11 , 9 , 3 , 1024 , 567 , 78 ]
    numbers. reverse ()
    print (numbers) # 1
    fruits = [ ‘Orange’ , ‘Grape’ , ‘Peach’ , ‘Banan’ , ‘Apple’ ]
    fruits. reverse ()
    print (fruits) # 2

    >>> [ 78 , 567 , 1024 , 3 , 9 , 11 , 2 , 100 ] # 1
    >>> [ ‘Apple’ , ‘Banan’ , ‘Peach’ , ‘Grape’ , ‘Orange’ ] # 2

    Допустим, у нас есть два списка и нам нужно их объединить. Програм­мисты на C++ cразу же кинулись писать циклы for, но мы пишем на python, а в python у спис­ков есть полез­ный метод extend(). Этот метод вызы­вается для одного списка, а в качестве аргу­мента ему пере­дается другой список, extend() запи­сывает в конец первого из них начало вто­рого:

    fruits = [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]
    vegetables = [ ‘Tomato’ , ‘Cucumber’ , ‘Potato’ , ‘Carrot’ ]
    fruits. extend (vegetables)
    print (fruits)

    >>> [ ‘Banana’ , ‘Apple’ , ‘Grape’ , ‘Tomato’ , ‘Cucumber’ , ‘Potato’ , ‘Carrot’ ]

    В природе существует специ­аль­ный метод для очистки списка — clear()

    fruits = [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]
    vegetables = [ ‘Tomato’ , ‘Cucumber’ , ‘Potato’ , ‘Carrot’ ]
    fruits. clear ()
    vegetables. clear ()
    print (fruits)
    print (vegetables)

    Осталось совсем чуть-чуть всего лишь пара мето­дов, так что делаем последний рывок! Метод index() возв­ращает индекс эле­мента. Рабо­тает это так: вы пере­даете в качестве аргу­мента в index() значение элемента, а метод возв­ращает его индекс:

    fruits = [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]
    print (fruits. index ( ‘Apple’ ))
    print (fruits. index ( ‘Banana’ ))
    print (fruits. index ( ‘Grape’ ))

    Финишная прямая! Метод copy(), только не падайте, копирует список и возвра­щает его брата-близнеца. Вообще, копи­ро­вание списков — это тема доста­точно инте­ресная, давай­те рас­смотрим её по-подробнее.

    Во-первых, если мы просто прис­воим уже сущест­вующий список новой пере­менной, то на первый взгляд всё выглядит неплохо:

    fruits = [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]
    new_fruits = fruits
    print (fruits)
    print (new_fruits)

    >>> [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]
    >>> [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]

    Но есть одно маленькое «НО»:

    fruits = [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]
    new_fruits = fruits
    fruits. pop ()
    print (fruits)
    print (new_fruits)

    # Внезапно, из списка new_fruits исчез последний элемент
    >>> [ ‘Banana’ , ‘Apple’ ]
    >>> [ ‘Banana’ , ‘Apple’ ]

    При прямом присваивании спис­ков копи­рования не проис­ходит. Обе пере­менные начи­нают ссылаться на один и тот же список! То есть если мы изме­ним один из них, то изме­нится и другой. Что же тогда делать? Пользоваться методом copy(), конечно:

    fruits = [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]
    new_fruits = fruits. copy ()
    fruits. pop ()
    print (fruits)
    print (new_fruits)

    >>> [ ‘Banana’ , ‘Apple’ ]
    >>> [ ‘Banana’ , ‘Apple’ , ‘Grape’ ]

    Отлично! Но что если у нас список в списке? Скопируется ли внутренний список с помощью метода copy() — нет:

    fruits = [ ‘Banana’ , ‘Apple’ , ‘Grape’ , [ ‘Orange’ , ‘Peach’ ]]
    new_fruits = fruits. copy ()
    fruits[ -1 ]. pop ()
    print (fruits) # 1
    print (new_fruits) # 2

    >>> [ ‘Banana’ , ‘Apple’ , ‘Grape’ , [ ‘Orange’ ]] # 1
    >>> [ ‘Banana’ , ‘Apple’ , ‘Grape’ , [ ‘Orange’ ]] # 2

    Решение задач

    1. Создайте список из 10 четных чисел и выведите его с помощью цикла for

    2. Создайте список из 5 элементов. Сделайте срез от второго индекса до четвертого

    3. Создайте пустой список и добавьте в него 10 случайных чисел и выведите их. В данной задаче нужно использовать функцию randint.

    from random import randint
    n = randint ( 1 , 10 ) # Случайное число от 1 до 10

    4. Удалите все элементы из списка, созданного в задании 3

    5. Создайте список из введенной пользователем строки и удалите из него символы ‘a’, ‘e’, ‘o’

    6. Даны два списка, удалите все элементы первого списка из второго

    a = [ 1 , 3 , 4 , 5 ]
    b = [ 4 , 5 , 6 , 7 ]
    # Вывод
    >>> [ 6 , 7 ]

    7. Создайте список из случайных чисел и найдите наибольший элемент в нем.

    8. Найдите наименьший элемент в списке из задания 7

    9. Найдите сумму элементов списка из задания 7

    10. Найдите среднее арифметическое элементов списка из задания 7

    Сложные задачи

    1. Создайте список из случайных чисел. Найдите номер его последнего локального максимума (локальный максимум — это элемент, который больше любого из своих соседей).

    2. Создайте список из случайных чисел. Найдите максимальное количество его одинаковых элементов.

    3. Создайте список из случайных чисел. Найдите второй максимум.

    a = [ 1 , 2 , 3 ] # Первый максимум == 3, второй == 2

    4. Создайте список из случайных чисел. Найдите количество различных элементов в нем.

    Источник

    Читайте также:  Как отмыть стеклянные двери душа
    Оцените статью