|
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 812
|
||||||||||||||||||||||||||||||||||||||
Генератор yield и большие объекты10.02.2025, 02:50. Показов 1355. Ответов 2
Метки вывести фрагмент (Все метки)
Функция-генератор chunker
Если у вас есть итерируемый объект, который слишком велик для того, чтобы полностью поместиться в памяти (например, при работе с большими файлами), возможность дробить его на небольшие фрагменты и затем использовать их за раз может быть очень ценной. С этой задачей должна справиться функция-генератор chunker. Она должна принимать итерируемый объект и выдавать фрагмент указанного размера за раз. Ваша задача написать функцию-генератор chunker Sample Input 1:
[0, 1, 2, 3] [4, 5, 6, 7] [8, 9, 10, 11] [12, 13, 14, 15] [16, 17, 18, 19] [20, 21, 22, 23] [24] Sample Input 2:
[0, 1, 2, 3, 4, 5, 6, 7, 8] [9, 10, 11, 12, 13, 14, 15, 16, 17] [18, 19, 20, 21, 22, 23, 24, 25, 26] [27, 28, 29, 30, 31, 32, 33, 34, 35] [36, 37, 38, 39, 40, 41, 42, 43, 44] [45, 46, 47, 48, 49, 50, 51, 52, 53] [54, 55] Sample Input 3:
Python 3.12 is the la test st able re lease o f the P ython p rogramm ing lan guage, with a mix of changes to the langua ge and the sta ndard l ibrary. хотел в самом начале проверить тип того что в lst
Traceback (most recent call last): File "/sandbox/main.py", line 52, in <module> exec('\n'.join(lines)) File "<string>", line 1, in <module> TypeError: 'NoneType' object is not iterable в общем , если там будет text еще более менее понятно что нужно делать а если например range(56) то как это все проверить, а самое главное где брать файл из которого потом с помощью range(56) доставать инфу и почему ошибка 'NoneType' object is not iterable если никто объект итерабить не собирается Добавлено через 13 минут
вывод Test input:
Python 3.12 is the la test st able re lease o f the P ython p rogramm ing lan guage, with a mix of changes to the langua ge and the sta ndard l ibrary. Your code output: ['P', 'y', 't', 'h', 'o', 'n', ' '] ['3', '.', '1', '2', ' ', 'i', 's'] [' ', 't', 'h', 'e', ' ', 'l', 'a'] ['t', 'e', 's', 't', ' ', 's', 't'] ['a', 'b', 'l', 'e', ' ', 'r', 'e'] ['l', 'e', 'a', 's', 'e', ' ', 'o'] ['f', ' ', 't', 'h', 'e', ' ', 'P'] ['y', 't', 'h', 'o', 'n', ' ', 'p'] ['r', 'o', 'g', 'r', 'a', 'm', 'm'] ['i', 'n', 'g', ' ', 'l', 'a', 'n'] ['g', 'u', 'a', 'g', 'e', ',', ' '] ['w', 'i', 't', 'h', ' ', 'a', ' '] ['m', 'i', 'x', ' ', 'o', 'f', ' '] ['c', 'h', 'a', 'n', 'g', 'e', 's'] [' ', 't', 'o', ' ', 't', 'h', 'e'] [' ', 'l', 'a', 'n', 'g', 'u', 'a'] ['g', 'e', ' ', 'a', 'n', 'd', ' '] ['t', 'h', 'e', ' ', 's', 't', 'a'] ['n', 'd', 'a', 'r', 'd', ' ', 'l'] ['i', 'b', 'r', 'a', 'r', 'y', '.'] если он списки с цифрами выдит норм, то с третьим тестом наверно нужно куда-то join присобачить, но какую проверку сделать Добавлено через 1 час 48 минут
0
|
||||||||||||||||||||||||||||||||||||||
| 10.02.2025, 02:50 | |
|
Ответы с готовыми решениями:
2
Составить генератор (yield) который переводит символы строки из верхнего регистра в нижний Генератор потока для итерируемого объекта
|
|
Супер-модератор
|
||||||
| 10.02.2025, 08:26 | ||||||
Сообщение было отмечено ujif как решение
Решение
2
|
||||||
|
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
|
||||||
| 10.02.2025, 12:41 | ||||||
|
ujif,
3
|
||||||
| 10.02.2025, 12:41 | |
|
Помогаю со студенческими работами здесь
3
Генератор из файла txt очень большого размера
Используя yield, реализовать и оттестировать метод-генератор Большие и маленькие объекты на сцене Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|