Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 25.02.2023
Сообщений: 24

Создать список 11, 22, 33, ..., nn. Использовать генератор

25.02.2023, 14:32. Показов 3059. Ответов 11

Студворк — интернет-сервис помощи студентам
Создать список 11, 22, 33, ..., nn. Использовать генератор.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2023, 14:32
Ответы с готовыми решениями:

Создать и использовать список контактов (не менее 5)
ЗАДАНИЕ: Необходимо создать и использовать список контактов (не менее 5), написать макрос для MS Outlook, формирующий новый документ MS...

Создать вложенный список, чтобы использовать несколько наборов данных
Всем привет! Ребят подскажите можно ли создать вложенный список таким образом: type PList = ^TList; // 1-й набор данных ...

Создать двумерный список по представленному образцу. При заполнении использовать цикл и условие

11
6 / 3 / 3
Регистрация: 24.02.2023
Сообщений: 8
25.02.2023, 15:58
Python
1
2
3
n = 99  # например, для n = 99
lst = [i for i in range(11, n+1, 11)]
print(lst)
В результате вы получите список [11, 22, 33, 44, 55, 66, 77, 88, 99], где каждый элемент увеличивается на 11 с предыдущего.
0
0 / 0 / 0
Регистрация: 25.02.2023
Сообщений: 24
25.02.2023, 16:12  [ТС]
Цитата Сообщение от titovmark97 Посмотреть сообщение
Python
1
2
3
n = 99  # например, для n = 99
lst = [i for i in range(11, n+1, 11)]
print(lst)
В результате вы получите список [11, 22, 33, 44, 55, 66, 77, 88, 99], где каждый элемент увеличивается на 11 с предыдущего.
Спасибо за ответ! Для промежутка от 11 до 99 ваш код бесспорно рабочий. Но вот как быть с числами 1010 1111 1212 1313?
0
 Аватар для tarhanovk
1 / 1 / 0
Регистрация: 08.11.2013
Сообщений: 41
25.02.2023, 16:56
Python
1
arr = [str(i)+str(i) for i in range(1,n)]
Добавлено через 1 минуту
range(1,n+1) точнее

Добавлено через 1 минуту
Python
1
arr = [str(i)+str(i) for i in range(1,n+1)]
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,699
Записей в блоге: 14
26.02.2023, 09:43
Все, приведённое выше - никакие не генераторы. Это распространенное языковое заблуждение. Настоящий генератор - ниже:

Python
1
2
3
4
5
6
7
8
def gen():
    c=11
    while c <= 99:
        yield c
        c+=11
        
x=list(iter(gen()))
print(x)
1
 Аватар для rim41
1045 / 313 / 78
Регистрация: 16.03.2020
Сообщений: 954
26.02.2023, 09:50
Цитата Сообщение от Catstail Посмотреть сообщение
распространенное языковое заблуждение.
Причем во всех смыслах языковое - это сложности перевода
0
 Аватар для Sunseodaero
27 / 18 / 9
Регистрация: 26.02.2023
Сообщений: 62
26.02.2023, 09:52
Прошу
Python
1
2
n = 10  # замените на желаемое значение
result = [i*11 for i in range(1, n+1)]
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,699
Записей в блоге: 14
26.02.2023, 09:56
Вот что такое настоящий генератор
1
 Аватар для tarhanovk
1 / 1 / 0
Регистрация: 08.11.2013
Сообщений: 41
26.02.2023, 10:54
Цитата Сообщение от Catstail Посмотреть сообщение
приведённое выше - никакие не генераторы. Это распространенное языковое заблуждение.
https://www.bestprog.net/ru/20... filter%20()

сразу написано следующее:
Самая общая форма генератора списка с одной переменной-счетчиком выглядит следующим образом

[ expression for variable in sequence [if cond] ]
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
26.02.2023, 10:59
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
a = (i for i in range(10))
print(type(a))
print(a)
###
b = [i for i in range(10)]
print(type(b))
print(b)
###
v = [*(i for i in range(10))]
print(type(v))
print(v)
###
def foo():
    i = 0
    while i < 10:
        yield i
        i += 1
 
 
f = foo()
print(type(f))
print(f)
Первое генератор.
Во втором случае происходит "распаковка" генератора в список, т.е. сокращенно 3 вариант.
И 4 генератор.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,699
Записей в блоге: 14
26.02.2023, 14:10
Alexarh, Генератором называется объект, который отдает элементы по одному.

Все прочее - не генераторы. В частности вот это:

Python
1
[i for in range(...)]
по-английски называется "list comprehensions". Что соответствует русскому "построение/создание списка". То, что небрежные переводчики все "валят" под термин "генератор" - ничего не меняет.

PS

"А теперь я выключаю слуховой аппарат, и можете мне возражать!" М.Шагинян.
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
26.02.2023, 14:16
Catstail, у меня это и написано только в примерах.

Генераторы:
Python
1
2
3
4
5
6
a = (i for i in range(10))
print(type(a))
print(next(a))
print(next(a))
print(next(a))
print(a)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def foo():
    i = 0
    while i < 10:
        yield i
        i += 1
 
 
f = foo()
print(type(f))
print(next(f))
print(next(f))
print(next(f))
print(f)
А это создание списка с помощью генератора:
Python
1
2
3
b = [i for i in range(10)]
print(type(b))
print(b)
Python
1
2
3
v = [*(i for i in range(10))]
print(type(v))
print(v)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2023, 14:16
Помогаю со студенческими работами здесь

Создать Шаблон класса «однонаправленный линейный список». Использовать его для различных элементов
Создать Шаблон класса «однонаправленный линейный список». Использовать его для различных типов элементов. Продемонстрировать в программе...

Создать однонаправленный линейный список и использовать его для решения задачи о заявках на авиабилеты
Создать шаблон класса «однонаправленный линейный список». Использовать его при решении следующей задачи: Составить программу, которая...

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

Создать список целых чисел. Создать новый список, записав в него отрицательные элементы
Создать список целых чисел. Создать новый список, записав в него отрицательные элементы.(задачу нужно решить 3-мя способами- стек, очередь,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru