Как указать в генераторе списка несколько операций?
К примеру есть код:
n = 0
for a in index:
# Операция №1
term_list.insert(n,term[a])
# Операция №2
n += 1
И есть еще один код (генератор списка):
n = 0 # Операция №1
term_list_Search = [term_list.insert(n,term[a]) for a in index]
По сути могут быть идентичны. Только вот как добавить во второй код, Операция №2, то есть 2 действия вместо одного?
Код целиком:
while True:
term = input('| Введите выжарение: ')
long_term = len(term)
# В списке index хранится все индексы символов введеных пользователем
index = []
# Получаем индекс каждого введеного пользователем символа
if long_term > 0:
while long_term > 0:
long_term = long_term - 1
index.insert(0,long_term)
print('| ',index)
elif long_term == 0:
print('| Ошибка! Поле ввода пусто', '\n|')
continue
# В списке term_list хранятся все элементы строки введеной пользователем
term_list = []
# Записываем в список term_list все элементы строки введеной пользователем
print('|\n|')
n = 0
for a in index:
term_list.insert(n,term[a])
n += 1
print('| ',term_list)
Пример работы скрипта:
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
если я правильно понял логику вашего кода, то это можно сделать гораздо проще и понятнее:
term_list = [term[i] for i in index]
PS list.insert() - возвращает None, поэтому его не стоит использовать в списковых включениях, если не хотите получить список Nones
