Python 从其他字符串中删除字符串
如何删除字符串的一部分,如Python 从其他字符串中删除字符串,python,if-statement,Python,If Statement,如何删除字符串的一部分,如 Blue = 'Blue ' Yellow = 'Yellow' Words = Blue + Yellow if Blue in Words: Words = Words - Yellow 这就是我想的样子 编辑: 我知道这行不通,我想知道什么行得通。由于无法在str中使用“-”,因此可以使用str.replace将文本与空字符串交换: Words = Words.replace(Yellow,'') 请注意,这将转换: "The Yellow Herr
Blue = 'Blue '
Yellow = 'Yellow'
Words = Blue + Yellow
if Blue in Words:
Words = Words - Yellow
这就是我想的样子
编辑:
我知道这行不通,我想知道什么行得通。由于无法在str中使用“-”,因此可以使用str.replace将文本与空字符串交换:
Words = Words.replace(Yellow,'')
请注意,这将转换:
"The Yellow Herring"
简而言之:
"The Herring"
替换将发生在字符串中的任何位置。如果只想从字符串末尾删除“Yellow”,可以使用.endswith和切片:
if Blue in Words and Words.endswith(Yellow):
Words = Words[:-len(Yellow)]
使用:
如果单词是一个列表,则可以执行以下操作:
if Blue in Words:
Words = [word for word in Words if word != Yellow]
或相同,但使用删除:
if Blue in Words:
Words.remove(Yellow)
从另一个角度看,您实际上无法删除字符串的一部分,因为Python中的字符串是不可变的——它们不能修改。这意味着没有分配mystring[0]=“f” 您可以做的是构建一个全新的字符串,并删除它的特定部分。这实现了同样的目标 这实际上相当重要,因为它意味着
mystring.replace('m', 'f')
就其本身而言,没有注意到没有赋值-这只是构建一个新字符串,然后将其丢弃。学习不变性和易变性的概念是学习的必要条件,它将帮助您避免许多错误。使用集合。{'Blue','Yellow'}单词应该看起来像'BlueYellow'还是['Blue','Yellow']?str.remove是语法吗?因为我在某个地方读到过,但效果不好?我想我从没见过str.remove。这不是str类型的方法。然而,这里有一个列表。remove@JohnDoeSmith-也许他们在谈论列表对象?lists上有一个remove方法list函数是什么?@johndesmith-在这一点上,我将让您参考。列表是python中的一种基本数据类型,非常有用。这与Word略有不同。removeYellow对于列表来说,不变性的问题值得在这里讨论。我倾向于假设每个人都知道这一点,所以有时候我忘了提它+1.
mystring.replace('m', 'f')