Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从其他字符串中删除字符串_Python_If Statement - Fatal编程技术网

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')