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

Удалить с помощью цикла значения списка

07.04.2022, 16:07. Показов 746. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я только начал изучать python 3 и столкнулся с такой ситуацией
предположим у нас есть рандомный список flist = ["Игорь", "Роман", "Дмитрий", "Алкаш", "Брюс Ли", "Чуня"]
я хочу удалить с помощью цикла значения этого списка, и вывести какое то сообщение перед удалением
for c, x1 in enumerate(flist):
print("Прощайте, %s " % x1) # обращается к первому елементу[0] присваивает x1 значение [0]
flist.pop(c) # затем удаляет его
# конец первой итерации, список стал на 1 значение меньше
# и так должно до конца
print(flist)
почему цикл удалил не все значения по порядку а через 1? цикл же вроде как перебирает значения по очереди,
затем следующее и опять чистит и так до конца
или я где то не правильно понял как работает цикл?

спасибо, пс через remove та же фигня

Python
1
2
3
4
for x2 in flist:
    print("Прощайте, %s" % x2)
    flist.remove(x2)
print(flist)

pss если кому то не сложно посоветуйте хороший учебник по python 3
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2022, 16:07
Ответы с готовыми решениями:

Вычислить значения ряда с помощью цикла for
Указания. В программных решениях задач можно использовать циклы for. Не допускается использовать массивы и строки. 27 Входные данные...

Составить программу вычисления значения функции на отрезке с помощью цикла while
Составить программу вычисления значения функции на отрезке с шагом h с помощью цикла while: h=0,1; a=1; b=1,4. y= \ln \left({x}^{2}...

Удалить из списка повторяющиеся значения
Пожалуйста помогите с этими заданиями. Коллекции (10) 1) Дан список, содержащий повторяющиеся значения. Удалить из списка повторяющиеся...

13
199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
07.04.2022, 16:28
Зачем нумеровать список? У него уже есть индексы.
Можно сделать так:
Python
1
2
3
4
flist = ["Игорь", "Роман", "Дмитрий", "Алкаш", "Брюс Ли", "Чуня"]
while len(flist):
    print('Прощайте,', flist[0])
    flist.pop(0)
Есть отличный сайт для изучения http://pythontutor.ru/
0
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2022, 17:10
AlexDeSex, режет глаз, прошу простить
Python
1
2
3
flist = ["Игорь", "Роман", "Дмитрий", "Алкаш", "Брюс Ли", "Чуня"]
while len(flist):
    print('Прощайте,', flist.pop(0))
1
0 / 0 / 0
Регистрация: 07.04.2022
Сообщений: 3
07.04.2022, 17:58  [ТС]
спасибо за решение
но к сожалению вопрос остался без ответа, почему цикл вывел значения через 1?
0
199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
07.04.2022, 18:00
Цитата Сообщение от alilxxey Посмотреть сообщение
AlexDeSex, режет глаз, прошу простить
Согласен. Раздел для начинающих, поэтому разделил вывод на печать и удаление элемента. Думал, так понятнее будет.
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
07.04.2022, 18:03
Python
1
2
3
4
for x2 in flist.copy():
    print("Прощайте, %s" % x2)
    flist.remove(x2)
print(flist)
потому что цикл идет по flist, удаляешь из него первый элемент, переходим ко второму, а второй теперь тот который был третий. по этому пропускает.
0
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2022, 18:18
Alex103, ваш алгоритм:
для каждого значения в [1, 2, 3]:
'''code'''
удалить элемент
(теперь список [2, 3])
для следующего значения в списке 2, 3 с учетом, что один уже обработан:
этот элемент - 3

довольно таки криво объяснил, но суть должна быть ясна
0
0 / 0 / 0
Регистрация: 07.04.2022
Сообщений: 3
07.04.2022, 18:33  [ТС]
большое спасибо за обьяснение теперь понял, идет смещение
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,706
Записей в блоге: 14
08.04.2022, 10:59
Alex103, добрый бесплатный совет: не нужно совмещать удаление элементов и итерирование по списку.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
08.04.2022, 11:17
Цитата Сообщение от AlexDeSex Посмотреть сообщение
while len(flist):
while flist:

Цитата Сообщение от Alex103 Посмотреть сообщение
Удалить с помощью цикла значения списка
но зачем? почему просто не очистить или не удалить список?
2
 Аватар для Semen-Semenich
5225 / 3472 / 1173
Регистрация: 21.03.2016
Сообщений: 8,299
08.04.2022, 11:37
Welemir1, так ему нужно выводить удаляемый элемент в сообщении
Цитата Сообщение от Alex103 Посмотреть сообщение
вывести какое то сообщение перед удалением
ну типа удален такой то.
Цитата Сообщение от Catstail Посмотреть сообщение
добрый бесплатный совет: не нужно совмещать удаление элементов и итерирование по списку
совет это нужно знать как делать и для чего. иногда пригодится. ну например в списке экземпляры класса и нам нужно удалить с каким то именем но мы не знаем индекс пока не получим имя.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
08.04.2022, 11:39
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
так ему нужно выводить удаляемый элемент в сообщении
ну пройти перебором по нему с выводом имени и просто вызвать clear()
1
 Аватар для Semen-Semenich
5225 / 3472 / 1173
Регистрация: 21.03.2016
Сообщений: 8,299
08.04.2022, 12:08
Welemir1, все зависит от задачи. может весь список не нужно очищать
0
199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
08.04.2022, 12:10
Цитата Сообщение от Welemir1 Посмотреть сообщение
while flist:
Спасибо, теперь буду знать).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2022, 12:10
Помогаю со студенческими работами здесь

Удалить из данного списка списков все, длина которых больше заданного числа, с помощью REMOVE-IF[-NOT]
Удалить из данного списка списков все, длина которых больше заданного числа, с помощью REMOVE-IF.

За один проход цикла найти два максимальных значения среди всех данных и удалить их
Задача: За один проход цикла найти два максимальных значения среди всех данных и удалить их. Затем добавить в начало данных число, равное...

Как удалить четные значения из списка
Привет. Помогите пожалуйста удалить из списка все четные елементы (значения елементов, а не позиции). unit LIST; //...

Удалить нечетные значения из линейного списка
Подскажите, пожалуйста, именно идею как реализовать решение этой задачи. Код я и сама напишу

Удалить значения одного списка из другого
Приветствую уважаемые. Есть задачка, но не могу даже начать так как с регулярными на ВЫ. Прошу помощи. Задача состоит в том что есть два...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
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 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru