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

Как удалить элемент из списка?

24.08.2018, 10:12. Показов 4565. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот тут пытаюсь удалить последний элемент выходит ошибка
Python
1
2
  acc = s[-1]
        del s[-1]
можете отправить такие данные для проверки
1
1 2 3 4





Python
1
2
3
4
5
6
7
8
9
10
11
import math
h = {}
i = 0
acc = 0
 
for _ in range(int(input())):
    s = input()[2:]
    if '1' in s:
        s = s[:s.find('1') + 1]
        acc = s[-1]
        del s[-1]
# TypeError: 'str' object doesn't support item deletion
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.08.2018, 10:12
Ответы с готовыми решениями:

Как удалить определённй элемент списка
У меня есть список, и при каком-то условии я хочу удалить элемент, не поддерживающий условие

Как удалить из списка элемент socket?
Есть список, в котором находятся соединения socket. Есть socket переменная conn. Мне надо удалить из списка этот conn (не по индексу)....

Из списка A удалить те цепочки четных элементов, в которых есть хотя бы один элемент из списка B
Вводное: из списка A удалить те цепочки четных элементов, в которых есть хотя бы один элемент из списка B. Пример: список A: 3 2 4 5...

12
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
24.08.2018, 10:20
Лучший ответ Сообщение было отмечено Александрррррпд как решение

Решение

Потому что s это строка, а не список. Можно сделать так

Python
1
2
3
4
5
6
for _ in range(int(input())):
    s = input()[2:]
    if '1' in s:
        s = s[:s.find('1') + 1]
        acc = s[-1]
        s =  s[:-1]
1
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
24.08.2018, 10:49  [ТС]
cспасибо а в таком варианте как удалить?
Python
1
2
3
acc = float(s[-1])
        s = s[:-1]
        acc *= math.log(float(s[-1])) / math.log(2)
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
24.08.2018, 11:15
Цитата Сообщение от Александрррррпд Посмотреть сообщение
в таком варианте как удалить?
А что тут удалять надо?
0
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
25.08.2018, 02:36  [ТС]
я хочу последний элемент удалить
Python
1
 s = s[:-1]
Python
1
2
3
4
5
6
7
for _ in range(int(input())):
    s = input()[2:]
    if '1' in s:
        s = s[:s.find('1') + 1]
        acc = float(s[-1])
        s = s[:-1]
        acc *= math.log(float(s[-1])) / math.log(2)
Добавлено через 11 минут
ValueError: could not convert string to float:

Добавлено через 12 минут
более точно опишу
пример в ввода
1
2 2 3 4

я беру 4. как последний элемент.Удаляю его
Потом беру 3 как последний элемент.
возникает ошибка
ValueError: could not convert string to float:
Python
1
2
3
4
5
6
7
8
9
10
11
import math
h = {}
i = 0
acc = 0
for _ in range(int(input())):
    s = input()[2:]
    if '1' in s:
        s = s[:s.find('1') + 1]
    acc = float(s[-1])  # беру последний элемент
    s = s[:-1]  # удаляю последний элемент
    acc *= math.log(float(s[-1])) / math.log(2)  # беру элемент который теперь последний
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.08.2018, 09:58
Цитата Сообщение от Александрррррпд Посмотреть сообщение
пример в ввода
1
2 2 3 4
Почему не так?
Code
1
2
4
2 2 3 4
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
25.08.2018, 10:29
Лучший ответ Сообщение было отмечено Александрррррпд как решение

Решение

Цитата Сообщение от Рыжий Лис Посмотреть сообщение
1
2 2 3 4
Цифра 1 символизирует количество строк

Цитата Сообщение от Александрррррпд Посмотреть сообщение
я беру 4. как последний элемент.Удаляю его
Потом беру 3 как последний элемент.
возникает ошибка
Потому что это строка 2пробел2пробел3пробел4, поэтому первый раз s[:-1] возвращает строку '4' которую можно привести к числу, а второй раз s[:-1] возвращает строку ' ', поэтому или делать по два s[:-1] или сразу превращать в список s = s.split()
1
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
25.08.2018, 10:37  [ТС]
с тем вопрос разобрался,спасибо.Как сравнить списки?
Алгоритм такой.Если кол чисел в списке больше то он больше.Если кол чисел в списки равно кол чисел в другом списке то смотритм элементы,сначала сравниваем первые два если они равны сравниваем вторые два элемента итд, в каком списке попадается элемент который больше элемента в другом списке то этот список больше.
Python
1
2
3
4
5
h={} # список.
h[0]=[30.11428751370197]
h[1]=[659.035174251272, '99', '99']
h[2]=[659.035174251272, '99', '98']
h[3]=[659.035174251272, '99', '99','99']
ответ будет 1 3 2 4 #номера вывел в человеческом виде
0
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
25.08.2018, 10:39  [ТС]
Цитата Сообщение от ТабуретY Посмотреть сообщение
s = s.split()
спасибо сделал так и использывал del s[-1] и всё норм сработало.теперь думаю отсортировать но возможноли это вообще?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.08.2018, 10:39
Цитата Сообщение от Александрррррпд Посмотреть сообщение
h={} # список.
Это словарь. И создай новую тему.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.08.2018, 10:40
Цитата Сообщение от Александрррррпд Посмотреть сообщение
возможноли это вообще?
Python
1
s.sort()
0
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
25.08.2018, 10:40  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Это словарь. И создай новую тему.
модераторы обычно не любят когда новую тему создаёшь
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
25.08.2018, 10:41
Лучший ответ Сообщение было отмечено Александрррррпд как решение

Решение

Цитата Сообщение от Александрррррпд Посмотреть сообщение
модераторы обычно не любят когда новую тему создаёшь
Одна задача — одна тема.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.08.2018, 10:41
Помогаю со студенческими работами здесь

Как удалить нужный элемент из списка или заменить этот элемент на другой?
Доброго времени суток, господа! Есть список: list<double> list1; Есть возможность добавить в начало или в конец списка елементы:...

Удалить после элемента Е один элемент, добавить/удалить/вставить элемент, создать копию списка
Помогите пожалуйста, ничего не объяснив, дали такие два задания на C#: 1. Дан список целых чисел. Удалить из списка L за каждым...

Как удалить элемент из списка
for(auto&i:M) { getline(i.GetF(),str); if(i.GetF().eof()) M.remove(i); cout<<str<<"\n"; ...

Как удалить элемент из списка
Я получаю список пользователей в JSON с удаленного сервера, после чего формирую из них listview. Мне нужно, чтобы при клике на...

Как удалить последний элемент списка?
// удаление последнего элемента списка void deleteLastItem(Item *ptr) { Item *tmp = NULL; while ((ptr !=...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru