вот код:
aList = ['0.01', 'xyz', 'J0.01', 'abc', 'xyz'];
aList.remove('0.01');
print("List : ", aList)
вот результат: Список:
['xyz', 'J0.01', 'abc', 'xyz']
Как удалить 0.01, прикрепленный к "J0.01"? Я хотел бы сохранить J. Спасибо за ваше время! знак равно
Похоже, вы хотите
aList = ['0.01', 'xyz', 'J0.01', 'abc', 'xyz'];
>>> [z.replace('0.01', '') for z in aList]
['', 'xyz', 'J', 'abc', 'xyz']
Если вы хотите удалить также пустые строки/пробелы,
>>> [z.replace('0.01', '') for z in aList if z.replace('0.01', '').strip()]
['xyz', 'J', 'abc', 'xyz']
Использование модуля re
:
import re
aList = ['0.01', 'xyz', 'J0.01', 'abc', 'xyz'];
print([i for i in (re.sub(r'\d+\.?\d*$', '', i) for i in aList) if i])
Печать:
['xyz', 'J', 'abc', 'xyz']
РЕДАКТИРОВАТЬ:
Подстановка regexp re.sub(r'\d+\.?\d*$', '', i)
будет заменять каждую цифру, за которой следует точка (необязательно), и за ней следует любое количество цифр для пустой строки. Значение $
означает, что цифра должна быть в конце строки.
Так. например, допустимы следующие соответствия: "0.01"
, "0."
, "0"
. Объяснение на внешнем сайте здесь.
print
команды в интересах тех , кто новичок re
, который включает меня
Что-то вроде этого может работать:
l = ['0.01', 'xyz', 'J0.01', 'abc', 'xyz']
string = '0.01'
result = []
for x in l :
if string in x:
substring = x.replace(string,'')
if substring != "":
result.append(substring)
else:
result.append(x)
print(result)
попробуйте, привет.
remove
списка. Вы хотите метод строки вместо