2024-09-26 18:11:27 发布
网友
SOF社区
我试图删除字符串中的最后一个字符,并使用列表理解将其替换为“ies”
下面的表达式试图做的只是: 使用索引位置删除最后一个字符,然后将其与“ies”连接
word = [(word.del[-1]) + 'ies' for character in word]
新代码。如果逻辑不正确(我肯定是这样的),我会道歉
表达式word = [(word.del[-1]) + 'ies' for character in word]有语法错误,并且不执行您认为的操作:
word.del[-1]使用方括号[]向方法传递参数是不正确的
word.del[-1]
word.del[-1]如果word是字符串,它没有名为del()的方法,则可以使用del(object)删除对象
假设语法是正确的,这个列表理解所做的是,它接受单词中的每个字符,并将它们列成一个列表,这样每个字符都会附加“ies”,例如,如果word='abc'这将产生['aies','bies','cies']
word='abc'
['aies','bies','cies']
如果您想让它“使用索引位置删除最后一个字符,然后将其与'ies'连接起来”。您根本不需要列表理解:
>>> word = 'abc' >>> word = word[:-1]+'ies' >>> print(word) abies
word[:-1]+'ies'所做的是,它从开始到最后一个索引(排他)都需要一段word变量,因此最后一个字符将不包括在内
word[:-1]+'ies'
s = 'lady'
现在,在python中,字符串是immutable。这意味着您不能在创建字符串变量s后更改它。因此,您要做的是将s的所有字符一直保留到最后一个字符y为止,但不包括最后一个字符y并在末尾添加ies
immutable
s
y
ies
现在,可以使用slicing operator进行复制
slicing operator
new_s = s[:-1] + "ies"
为此使用切片:
word[:-1] + 'ies'
除最后一个字符外,这将使用所有字符并向其添加“ies”
表达式
word = [(word.del[-1]) + 'ies' for character in word]
有语法错误,并且不执行您认为的操作:word.del[-1]
使用方括号[]向方法传递参数是不正确的word.del[-1]
如果word是字符串,它没有名为del()的方法,则可以使用del(object)删除对象假设语法是正确的,这个列表理解所做的是,它接受单词中的每个字符,并将它们列成一个列表,这样每个字符都会附加“ies”,例如,如果
word='abc'
这将产生['aies','bies','cies']
如果您想让它“使用索引位置删除最后一个字符,然后将其与'ies'连接起来”。您根本不需要列表理解:
word[:-1]+'ies'
所做的是,它从开始到最后一个索引(排他)都需要一段word变量,因此最后一个字符将不包括在内现在,在python中,字符串是
immutable
。这意味着您不能在创建字符串变量s
后更改它。因此,您要做的是将s
的所有字符一直保留到最后一个字符y
为止,但不包括最后一个字符y
并在末尾添加ies
现在,可以使用
slicing operator
进行复制为此使用切片:
除最后一个字符外,这将使用所有字符并向其添加“ies”
相关问题 更多 >
编程相关推荐