我有一组字符串set1
,并且set1
中的所有字符串都有两个特定的子字符串,我不需要也不想删除它们。
样本输入:
set1={'Apple.good','Orange.good','Pear.bad','Pear.good','Banana.bad','Potato.bad'}
所以基本上我希望从所有字符串中删除.good
和.bad
子字符串。
我所尝试的:
for x in set1:
x.replace('.good','')
x.replace('.bad','')
但这似乎根本不起作用。输出完全没有变化,它和输入是一样的。我试着用for x in list(set1)
代替原来的,但这并没有改变什么。
.replace
不会更改字符串,而是返回替换字符串的副本。不能直接更改字符串,因为字符串是不可变的。您需要从
x.replace
中获取返回值并将其放入一个新的集合中。字符串是不可变的。^{} 创建一个新的字符串。文件中说明了这一点:
这意味着您必须重新分配或重新填充集合(使用set comprehension)重新分配更容易:
你只需要一点黑色魔法!
相关问题 更多 >
编程相关推荐