Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 16, 2022 22:59:59

Rad.89
Зарегистрирован: 2022-06-07
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

list.remove(x)

Придумал себе задачку на основе списков:
дана строка ('а б в г'). Когда мы вводим букву, программа проверяет: нет ли в списке этой буквы, и если есть, стирает ее из списка и принтует измененный список.
мой код (может быть сложный или некрасивый, но вот я так экспериментировал):

 x=('а б в г д')
x2=x.split()
z = input ('введите букву от "а" до "д": ')
z=z.lower()
p=z.split()
resultx=(list(set(x2) & set(p)))
x_num=x2.count(resultx)
x2.pop(x_num)
print (x2)
И код выдал не верный результат. Это что значит - в .pop() нельзя задать аргумент через переменную? Когда вводим “а” все работает. но на других буквах ошибка.

UPD: Знаю, что можно через юникод сделать. Но хотелось именно через вот такое сравнение попробовать.

Отредактировано Rad.89 (Июнь 16, 2022 23:19:47)

Офлайн

#2 Июнь 16, 2022 23:39:24

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

list.remove(x)

Rad.89
дана строка ('а б в г'). Когда мы вводим букву, программа проверяет: нет ли в списке этой буквы, и если есть, стирает ее из списка и принтует измененный список.
 x='а б в г д'
x = x.replace(let,'') if (let:=input()) else None
print(x)

Офлайн

#3 Июнь 17, 2022 11:10:16

Palrom
Зарегистрирован: 2022-04-21
Сообщения: 82
Репутация: +  5  -
Профиль   Отправить e-mail  

list.remove(x)

  
x = 'а б в г д'
x2 = x.split()
z = input('введите буквы от "а" до "д": ').lower()
resultx = list(set(x2) - set(z))
print(resultx)

Офлайн

#4 Июнь 19, 2022 23:08:00

Rad.89
Зарегистрирован: 2022-06-07
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

list.remove(x)

Palrom
Ваш код выдает следующее
 введите буквы от "а" до "д": б
['д', 'а', 'в', 'г']

Офлайн

#5 Июнь 20, 2022 10:49:58

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

list.remove(x)

Rad.89
Просто замените существующий список новым, в подавляющем большинстве случаев это будет лучшим решением

 l = [1, 2, 3, 4, 5, 6, 7, 8]
item = 4
l = [i for i in l if i != item]



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version