яндекс
  • 1
    Ввод и вывод данных
    • Задачи
  • 2
    Условия
    • Задачи
  • 3
    Цикл for
    • Задачи
  • 4
    Строки
    • Задачи
  • 5
    Цикл while
    • Задачи
  • 6
    Списки
    • Задачи
  • 7
    Двумерные массивы
    • Задачи
  • 8
    Словари
    • Задачи
  • 9
    Множества
    • Задачи
  • 10
    Функции и рекурсия
    • Задачи
  • к

Занятие 6. Списки

Задача «Перебор элементов списка с использованием цикла for»

Уровень сложности:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib
В магазине был составлен список с пяти самыми популярными товарами на текущей неделе. Напишите программу, которая создает список из пяти товаров и использует цикл for для вывода каждого элемента списка на новой строке.
 
Пример:
Input:
            [1, 2, 3, 4, 5]
Output:
            1
2
3
4
5
 
Подсказка
Список (list) – это изменяемая коллекция, которая может содержать элементы различных типов. Списки в Python аналогичны массивам в других языках программирования, но предоставляют больше функциональности.
 
Создание списка
Список создается с помощью квадратных скобок [ ]:
# Пустой список
my_list = []
# Список с несколькими элементами
my_list = [1, 2, 3, 4, 5]
# Список с элементами разных типов
my_list = [1, "hello", 3.14, True]
 
Ввод списка в код
Вводить список через input() можно с помощью встроенной функции eval():
# Ввод через функцию eval()
my_list = eval(input()) # [1, 2, 3, 4, 5]
# Вывод списка
print(my_list) # Вывод: [1, 2, 3, 4, 5]
 
Добавление элементов в список
Python предоставляет несколько методов для добавления элементов в список:
append(): добавляет элемент в конец списка
insert(): вставляет элемент в определенную позицию
extend(): добавляет все элементы переданного итератора в конец списка
numbers = [1, 2, 3]

# Добавление элемента в конец
numbers.append(4)
print(numbers)  # Вывод: [1, 2, 3, 4]

# Вставка элемента на позицию 1
numbers.insert(1, 10)
print(numbers)  # Вывод: [1, 10, 2, 3, 4]

# Добавление нескольких элементов
numbers.extend([5, 6, 7])
print(numbers)  # Вывод: [1, 10, 2, 3, 4, 5, 6, 7]
 
Доступ к элементам списка
Элементы списка доступны по индексу, начиная с нуля:
my_list = [10, 20, 30, 40, 50]
# Доступ к первому элементу
print(my_list[0])  # Вывод: 10
# Доступ к последнему элементу
print(my_list[-1])  # Вывод: 50
# Доступ к элементу по индексу 2
print(my_list[2])  # Вывод: 30
 
Изменение элементов списка
Вы можете изменять элементы списка, используя их индексы, прямо как в строках:
my_list = [10, 20, 30, 40, 50]
my_list[1] = 25
print(my_list)  # Вывод: [10, 25, 30, 40, 50]
 
Срезы списка
Срезы позволяют получать подсписки, используя синтаксис start : stop : step:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Срез с 2 по 5 индекс
sublist = numbers[2:6]
print(sublist)  # Вывод: [3, 4, 5, 6]

# Срез с начала до 5 индекса
sublist = numbers[:6]
print(sublist)  # Вывод: [1, 2, 3, 4, 5, 6]

# Срез с 5 индекса до конца
sublist = numbers[5:]
print(sublist)  # Вывод: [6, 7, 8, 9]

# Срез с шагом 2
sublist = numbers[::2]
print(sublist)  # Вывод: [1, 3, 5, 7, 9]

# Срез в обратном порядке
sublist = numbers[::-1]
print(sublist)  # Вывод: [9, 8, 7, 6, 5, 4, 3, 2, 1]
 
Перебор элементов списка
Списки можно перебирать с помощью цикла for:
numbers = [1, 2, 3, 4, 5]
# Перебор элементов списка
for number in numbers:
    print(number)
# Вывод: 1
# Вывод: 2
# Вывод: 3
# Вывод: 4
# Вывод: 5
Также тоже самое можно с помощью функции range и длинны списка:
numbers = [1, 2, 3, 4, 5]
# Перебор элементов списка
for i in range(len(numbers)):
    print(numbers[i])
# Вывод: 1
# Вывод: 2
# Вывод: 3
# Вывод: 4
# Вывод: 5
 
Обработка нескольких элементов
numbers = [12, 6, 2, 4, 9, 6, 10]
for i in range(len(numbers)-1):
    if numbers[i]>numbers[i+1]:
        print(numbers[i], end = " ")
# Вывод: 12 6 9
Очень важно помнить про диапазон функции range, если вы хотите брать за одну итерацию цикла два и более элемента, то вам необходимо указать верный диапазон, чтобы вы не вышли за предел. В примере выше мы берем текущий элемент numbers[i] и следующий numbers[i+1], если мы не ограничим range на одну еденицу, то есть не уменьшим ее на это значение, range(len(numbers)-1), то получим ошибку "выход за предел списка", получается она из-за того, что когда мы доходим до последнего элемента, он пытается получить доступ к следующему [i+1], а его попросту не существует. Так же работает если вы хотите брать не 2, а 3 элемента.
 
Вывод содержимого массивов
numbers = [1, 2, 3, 4, 5]
# Перебор элементов списка
for i in range(len(numbers)):
    print(numbers[i], end=" ")
# Вывод: 1 2 3 4 5
В функции print(), есть аргумент end, он по умолчанию является переносом на следующую строку, но если в него указать " "(пробел), то он будет печатать все на одной строке end = " ".
Solution
Входные данные
Выходные данные

Тесты

2 3 6 1 1
2 3 6 1 1
2 3 6 1 1
2 3 6 1 1
2 3 6 1 1
2 3 6 1 1

🎉 Поздравляем! 🎉

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

AD

Реклама

red-snake blue-snake green-snake

Запускаем ваш код...