Python-从列表或字符串中删除字符

Python-从列表或字符串中删除字符,python,string,list,Python,String,List,如果动词以e结尾,则删除e并添加-ing 我正在输入一个字符串(英语动词)。我的目标是删除单词的最后一个字符,如果它是“e”。并增加3个字符“i”、“n”和“g” 我想知道如何删除列表对象,或者如果可能的话删除字符串。以及如何将列表转换为字符串 目前我在上网 if verb_list[-1] == ["e"]: #verb_list is a inputed string putted into a list verb_list[-1] = "i" ve

如果动词以e结尾,则删除e并添加-ing

我正在输入一个字符串(英语动词)。我的目标是删除单词的最后一个字符,如果它是“e”。并增加3个字符“i”、“n”和“g”

我想知道如何删除列表对象,或者如果可能的话删除字符串。以及如何将列表转换为字符串

目前我在上网

if verb_list[-1] == ["e"]:              #verb_list is a inputed string putted into a list
    verb_list[-1] = "i"
    verb_list.append("n")
    verb_list.append("g")
这对我来说不是一个合适的解决办法。我想知道如何从列表或字符串中删除例如[-1]元素。这里我还有一个列表,我希望我的输出是一个字符串

谢谢你的帮助

这就足够了

if verb[-1]=='e':
    verb = verb[:-1]+"ing"

有关Python中切片的更多信息-

可以使用
re.sub

re.sub('e$', 'ing', s)
正则表达式中的
$
仅当模式位于字符串末尾时才与该模式匹配

用法示例:

import re

data = ['date', 'today', 'done', 'cereal']

print([re.sub('e$', 'ing', s) for s in data])
#['dating', 'today', 'doning', 'cereal']
我知道
data
中的单词不是动词,但这些都是我脑子里想不出来的单词。

试试这个:

li=list(verb)
if li[-1]=='e':
    li[-1]='ing'
    verb=''.join(li)

这将用
ing
替换每个字符串中的所有
e
,这意味着什么?动词[:-1]@h0ax它删除字符串的最后一个字符。一个更“正常”的例子是[0:4]。它接受字符串的前4个字符。减号意味着它不是从前面开始计数,而是从末尾开始计数。所以-1是最后一个字符。所以[:-1]也可以写成[0:-1],也就是说,从字符串的开始到最后一个字符,都要带上。非常感谢,现在我很理解了@h0ax已经更新了答案,所以您可以看到切片是如何工作的谢谢,但我认为这对我来说太复杂了,现在无法使用和理解。这也是一个很好且简单的解决方案。您能告诉我“”。join()是如何工作的吗?join()方法将一个iterable中的所有项合并为一个字符串。Syntex:string_name.join(iterable)。例如:list1=['1'、'2'、'3'、'4']'-'。join(list1)结果将是:1-2-3-4 join在python中的工作方式,请按照链接:@h0ax upvote it,如果它对您的情况有帮助,以便其他人也能从中受益。