Python с нуля. Урок 15 | Функции: Map, Filter, Reduce, Zip

Python с нуля. Урок 15 | Функции: Map, Filter, Reduce, Zip

Иван Викторович

3 года назад

76,737 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

Иван Викторович
Иван Викторович - 07.05.2021 16:46

Задание:
Создать текстовый файл (.txt) средствами вашей операционной системы, заполнить его любыми цифрами в 1 столбик. Затем написать программу, в которой при помощи функции map считать все эти цифры в один список. Затем, используя функцию filter, создать новый список, в котором останутся только нечетные цифры из предыдущего списка.

Ответить
смешуха
смешуха - 24.10.2023 12:24

слабо написать zip с map вот код:
def zip(one_list,two_list):
print(list(map(lambda x, y: (x,y),one_list,two_list)))

Ответить
смешуха
смешуха - 24.10.2023 12:19

слабо написать factorial с reduce вот код:
from functools import reduce
def factorial(n):
return reduce(lambda a,b: a * b,[i for i in range(1,n+1)])

Ответить
Solomon_Khein
Solomon_Khein - 16.10.2023 17:42

Самый интересный алкоголик ютуба.

Ответить
Давид Цатурян
Давид Цатурян - 23.09.2023 22:21

Когда он говорить, что не знает инглиш хорошо, то немного врет 🤥 😂

Ответить
deep mount
deep mount - 22.09.2023 18:18

По функции result не понятно какой элемент соответствует первому аргументу, а какой второму (что на что перемножается не четко понятно) как будто речь идёт о перемножением матрицы

Ответить
сын Александра
сын Александра - 10.08.2023 00:49

Крут

Ответить
Fire Fox
Fire Fox - 05.08.2023 14:44

Идеальное объяснение!

Ответить
Иван Толстихин
Иван Толстихин - 12.07.2023 00:38

with open ('текстовый файл.txt') as f:
n = int(f.readline())
a = list(map(int, f))
print(a)
b = filter(lambda x: (x%2 == True), (a))
print(list(b))

Ответить
Botir
Botir - 20.06.2023 11:42

with open('1.txt') as f:
s = f.read().split()
num = map(int, s)
b = list(num)
print(b)

def f(a):
if a % 2 == 0:
return a

print(list(filter(f, b)))

Ответить
Music Dorian Kon
Music Dorian Kon - 05.06.2023 10:22

Такое чувство, что между 14-м и 15-м пропустил пару уроков...Хорошо, что я знаю, как создавать текстовый файл и догадался, что его нужно сохранить в той же папке, что и рабочий файл питона. А многие до этого не додумаются

Ответить
Hrapkin
Hrapkin - 13.05.2023 21:00

Здравствуйте!! Спасибо за Ваши уроки!!!! только у меня впрос б почему не срабатывает корректно такой вариат, когда я хочу применить тоже самое к одному столбцу? =((
5
6
5
3
7
7
with open( "data/users_data.txt") as f:
n=int(f.readline())


for i in range(n):
a = map(int,f.readline().split())

print(a)
не пойму почему не работает=(((

Ответить
Sabina Ismailova
Sabina Ismailova - 05.05.2023 20:31

отличный курс освежить знания перед собесом))

Ответить
Jet Brain
Jet Brain - 30.04.2023 10:17

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

reduce(lambda x, y: x + y, range(4), 3) # то же самое что(((3+1)+2)+3)
потому что initializer =3, к его значентю все и начинаем прибавлять, сохраняя промежуточный результат в x.

Ответить
Google Cortain
Google Cortain - 29.04.2023 07:54

Напомните пожалуйста что означает знак % ? Например в выражении: x%2==0

Ответить
Жак Кусто
Жак Кусто - 16.03.2023 01:25

Спасибо за урок, объяснение, видео. Познавательно, интересно, по делу. Лайк, подписка, коммент.

Ответить
Maria Plity
Maria Plity - 09.03.2023 23:45

Классно объясняете. Еще и красивый.) Приятно смотреть.

Ответить
English with Nadin
English with Nadin - 01.03.2023 13:58

Как всегда : полезно, информативно, без воды, коротко о главном🙃🙂

Ответить
Александр Кузьменко
Александр Кузьменко - 28.02.2023 22:09

Я настолько ничего не понял, что даже не понял что я не понял.

Ответить
No Honey Tavern
No Honey Tavern - 08.01.2023 21:03

Решение ДЗ без функции map:
def fun(a):
if a%2 !=0:
return True
else:
False

a = []
with open("1.txt") as f:
n=int(f.readline())
for i in range(n):
a.append(int(f.readline()))
b = filter(fun,a)
print(list(b))

C функцией MAP""
with open ("1.txt") as f2:
n=int(f2.readline())
d = map (int,f2)
c = filter(lambda b: b % 2 != 0, list(d))
print(list(c))

Ответить
James NewLight
James NewLight - 28.12.2022 07:46

круто

Ответить
Олег Складанюк
Олег Складанюк - 02.12.2022 02:32

добрый день ощибка No such file or directory: '123.txt' обьясните чайнику что не так?

Ответить
Денис Соколовский
Денис Соколовский - 28.11.2022 23:35

Как то так
with open('text.txt') as f:
a = map(int, f)
def f(b):
if b % 2 == 1:
return b
b = filter(f, a)
print(list(b))

Ответить
Сергей Осипёнок
Сергей Осипёнок - 13.11.2022 20:25

можно примеры по вложенным спискам

Ответить
Deden
Deden - 07.11.2022 00:31

Можно было не указывать в файле количество строк , а просто сделать проверку внутри цикла while при считывании:
if not line:
break

Ответить
Антон Баженов
Антон Баженов - 31.10.2022 12:34

with open("1.txt") as f:
a = map(int, f)
def f(a):
if a % 2 == 1:
return a
a = filter(f, a)
print(list(a))
У меня вот так получилось.

Ответить
Роман Поздняков
Роман Поздняков - 25.10.2022 16:42

Здравствуйте всем! Мне нужна помощь!
Что-то я застрял в самом начале.
Сначала я решил записать текстовый документ, где цифры расставлены в столбик. Для этого я
сначала расставил их в столбик с помощью программы:
а)
name="123456789"
for i in name:
print(i)
б)
Питон выводит:
1
2
3 и т.д. в столбик до девятки
в)
Я продолжаю писать ниже:
with open ("Домашка.txt","w") as j:
j.write(name)
г)
Питон создаёт текстовый документ "Домашка", где записана строка 123456789 без столбика
д)
изменил концовку:
with open ("Домашка.txt","w") as j:
j.write(name)
е)
Питон создаёт текстовый документ "Домашка", где записана одна-единственная цифра 9.

Я пытался сделать так, чтобы в текстовом тоже был столбик. Что я сделал не так? Спасибо.

Ответить
Bdjoker Fdadgv
Bdjoker Fdadgv - 25.10.2022 15:07

Кто нибудь может подсказать я создал на рабочем столе файл , txt и заполнил цифрами а как этот файл добавить в Питон как у автора ?

Ответить
Volodymyr K1
Volodymyr K1 - 06.10.2022 11:02

лайк однозначно

Ответить
Volodymyr K1
Volodymyr K1 - 05.10.2022 16:30

Таких викладачів мало. Лайк за доступне роз'яснення.

Ответить
wood Orsha
wood Orsha - 22.09.2022 22:38

длинный комментттттттттттттттттттттттттттттттттттттттттттттттттттт для ппппппппппппппррррррррррррооооооооооооооооооодддддддддддддддввввввввввввввввввииииииииииииииииииижжжжжжжжжжжжжееения каналаааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааи лайк обязательнооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо

Ответить
topbun
topbun - 16.08.2022 01:28

О

Ответить
Андрей Ступак
Андрей Ступак - 12.08.2022 21:43

Здравствуйте я не пойму а как создать файл.txt ещё и с двумя столбиками чисел?

Ответить
Alex Black
Alex Black - 07.08.2022 17:55

кароче навоял я вот такое
with open("27-2.txt") as f:
first = list (map (int, f))
print (list(first))

а он в ответ ругаетса
first = list (map (int, f))
ValueError: invalid literal for int() with base 10: '\n'

Ответить
MR
MR - 27.07.2022 19:43

Спасибо, как всегда топ ; )

Ответить
Абзайдин Аг
Абзайдин Аг - 19.07.2022 14:48

with open("1.txt") as r:
first = list(map(int, r))
second = filter(lambda first:(first % 2 != 0) ,first)
print (list(second))

Ответить
Dенис Dенисыч
Dенис Dенисыч - 03.07.2022 12:57

def f(a):
if a % 2 == 1:
return a
a = filter(f, (2, 5, 4, 3, 1))
print(list(a))

Ответить
IT and NUT
IT and NUT - 27.06.2022 13:31

У меня вопрос: так что делает функция map?

Ответить
Ирина Онищенко
Ирина Онищенко - 20.06.2022 20:16

Спасибо большое! Всё очень интересно!
Пожалуйста, запишите видео как делать резервные копии файлов на Python. Заранее спасибо!

Ответить
Mr. Shadow
Mr. Shadow - 20.06.2022 11:19

лайкос, однозначно

Ответить
Nikita Тимофеев
Nikita Тимофеев - 16.06.2022 20:56

что такое range?

Ответить
Alexey Nikolaevskiy
Alexey Nikolaevskiy - 12.06.2022 16:05

Спасибо за урок, особенно с домашкой!

Ответить
Artyom Vakhrushev
Artyom Vakhrushev - 09.06.2022 11:06

Очень грамотно, наглядно, коротко и главное понятно, спасибо вам большое!

Ответить
Анаконда
Анаконда - 06.06.2022 14:55

Очень приятно что когда вы говорите что-то на английском то не говорите что у меня самое лучшее произношение а не стесняетесь этого и если что просите исправить и это круто

Ответить
Anonym
Anonym - 31.05.2022 13:12

Почему код:
with open("numb") as numb:
n = int(numb.readline())
for U in range(n):
a,b = map(int,numb.readline().split())
print(a,b)
---------------------------------------------------------------------------
Хорошо читает текст с числами:
20
5627 5841
5544 6520
1449 3580

------------------------------------------------------------------------
И выдаёт ошибку если числа записаны:
5627 5841
5544 6520
1449 3580

----------------------------------------------------------------------
Ошибка:
n = int(numb.readline())
ValueError: invalid literal for int() with base 10: '\n'🤔🤔

Ответить
МОТОБЛОК M5
МОТОБЛОК M5 - 25.05.2022 20:40

1) with open(1.txt) as f:
a = map(int, f.readlines())
print(list(a))
2) a = [1, 2, 3, 4, 5, 6, 7, 8]
b = filter(lambda x: x % 2 != 0, a)
print(list(b))

Ответить