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

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

Задача «Сложение списков»

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

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib
Вы создаёте два списка чисел одинаковой длины. Необходимо использовать метод zip, чтобы создать третий список, элементами которого будут суммы пар чисел из первых двух списков, сложенные поэлементно.
 
Пример:
Input:
            1 2 3 4 
5 6 7 8 Output:             Результат сложения элементов списков: [6, 8, 10, 12]
 
Подсказка
В Python можно создать список из строки несколькими способами, в зависимости от формата исходной строки.
# Исходная строка
input_string = "1 2 3 4 5"
# Разделение строки на подстроки
string_list = input_string.split()
# Преобразование каждой подстроки в целое число
int_list = [int(num) for num in string_list]
print(int_list)  # Вывод: [1, 2, 3, 4, 5]
# можно сократить все в одну строку int_list = [int(num) for num in input_string.split()]
Можно так же использовать функцию map:
# Исходная строка
input_string = "1 2 3 4 5"
# Разделение строки на подстроки и преобразование каждой подстроки в целое число с использованием map
int_list = list(map(int, input_string.split()))
print(int_list)  # Вывод: [1, 2, 3, 4, 5]
input_string.split() - превращает строку в массив, разделяя эллементы пробелом, но при этом они по прежнему остаются строкой "1 2 3 4 5"- ["1","2","3","4","5"].
map() - функция, которая применяет какую либо функцию, ко всем эллементам списка, в нашем случае map(int,["1","2","3","4","5"]) применяет функцию int() ко всем эллементам нашего массива и мы получаем  - [1,2,3,4,5], но проблема в том, что мы получаем не список и по этому нам надо его преобразовать в список.
list() - преобразовывает наш обьект в список и по итогу мы получим из строки "1 2 3 4 5", список [1,2,3,4,5]
 
Методы списков
Списки в Python имеют множество встроенных методов для работы с элементами. Вот несколько наиболее часто используемых:
index(): возвращает индекс первого элемента, равного указанному значению
count(): возвращает количество элементов, равных указанному значению
sort(): сортирует список на месте
reverse(): переворачивает список на месте
copy(): создает копию списка
numbers = [1, 4, 5, 6, 7, 4, 3, 2]

# Поиск индекса элемента
index_of_4 = numbers.index(4)
print(index_of_4)  # Вывод: 1

# Подсчет количества элементов
count_of_4 = numbers.count(4)
print(count_of_4)  # Вывод: 2

# Сортировка списка
numbers.sort()
print(numbers)  # Вывод: [1, 2, 3, 4, 4, 5, 6, 7]

# Переворот списка
numbers.reverse()
print(numbers)  # Вывод: [7, 6, 5, 4, 4, 3, 2, 1]

# Создание копии списка
numbers_copy = numbers.copy()
print(numbers_copy)  # Вывод: [7, 6, 5, 4, 4, 3, 2, 1]
 
Удаление элементов из списка
Вы можете удалять элементы из списка несколькими способами:
remove(): удаляет первый найденный элемент, равный указанному значению
pop(): удаляет элемент по указанному индексу и возвращает его (если индекс не указан, удаляет и возвращает последний элемент)
del(): удаляет элемент по индексу или весь срез
numbers = [1, 10, 2, 3, 4, 5, 6, 7]

# Удаление элемента по значению
numbers.remove(10)
print(numbers)  # Вывод: [1, 2, 3, 4, 5, 6, 7]

# Удаление и получение элемента по индексу
element = numbers.pop(2)
print(element)  # Вывод: 3
print(numbers)  # Вывод: [1, 2, 4, 5, 6, 7]

# Удаление элемента по индексу с помощью del
del numbers[1]
print(numbers)  # Вывод: [1, 4, 5, 6, 7]

# Удаление нескольких элементов с помощью среза
del numbers[1:3]
print(numbers)  # Вывод: [1, 6, 7]
 
Генераторы списков
Генераторы списков позволяют создавать списки по определенному правилу в одной строке кода:
# Создание списка квадратов чисел от 0 до 9
squares = [x**2 for x in range(10)]
print(squares)  # Вывод: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# Создание списка четных чисел от 0 до 9
evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # Вывод: [0, 2, 4, 6, 8]

# Создание списка из ввода
evens = [input() for x in range(3)]

# Создание списка из четных чисел больше 5 и 0 если число не четное
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_numbers = [x if x % 2 == 0 else 0 for x in numbers if x > 5]
print(filtered_numbers)  # Вывод: [6, 0, 8, 0, 10]

# Создание списка из четных чисел и 0 если число не четное
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_numbers = [x if x % 2 == 0 else 0 for x in numbers if x > 5]
print(filtered_numbers)  # Вывод: [0, 2, 0, 4, 0, 6, 0, 8, 0, 10]
 
Функция zip()
С помощью функции zip(), можно обратотать сразу 2 массива за один цикл, в качестве аргументов указываем массивы.
numbers = [4, 6, 8]
names = ["Даниил", "Светлана", "Валя"]
for name, number in zip(names, numbers):
	print(name, number)
# Вывод: Даниил 4
# Вывод: Светлана 6
# Вывод: Валя 8
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

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