Python 尝试从列表中删除变量时,remove()返回None

Python 尝试从列表中删除变量时,remove()返回None,python,python-3.x,Python,Python 3.x,我正在做一个程序的一部分,把一个陈述变成一个问题 当我尝试删除x时,它返回None。我想让它在删除该项目的情况下打印句子,我做错了什么 def Ask(Question): Auxiliary = ("will", "might", "would", "do", "were", "are", "did") for x in Auxiliary

我正在做一个程序的一部分,把一个陈述变成一个问题

当我尝试删除
x
时,它返回
None
。我想让它在删除该项目的情况下打印句子,我做错了什么

def Ask(Question):
    Auxiliary = ("will", "might", "would", "do", "were", "are", "did")
    for x in Auxiliary:
        if x in Question:
            Question_l = Question.lower()
            Question_tk_l = word_tokenize(Question)
            Aux_Rem = Question_tk_l.remove(x)
            print (Aux_Rem)
所需行为示例:

"what we are doing in the woods"
应该成为

"what we doing in the woods"

我想删除问题中的任何辅助词。

这是正确的行为
remove
删除该元素并且不返回值(即返回
None
)。如果您希望访问删除的元素,可以使用
pop

somelist。删除(x)
somelist
中删除它找到的第一个等于
x
的元素。它不会返回修改后的列表。要打印修改后的列表,只需打印列表即可

print(Question_tk_l)
如果你想把它变成一个漂亮的字符串,你应该用空格连接它

print(' '.join(Question_tk_l))

顺便说一句,在迭代列表时不要修改它们,否则您将得到一个例外可能的副本您希望删除所有实例,还是一次只删除一个?这是否回答了您的问题?不,我想现在访问字符串,但不包含该项。这就是为什么我删除了它,它不应该在没有辅助的情况下打印问题吗?这里我有一个def Ask(问题):辅助=(“will”,“may”,“will”,“do”,“were”,“are”,“are”,“did”),用于辅助词中的x:如果问题中的x:Question\u l=Question.lower()问题\u tk\u=word\u标记化(问题)问题l.删除(x)打印('''.join(问题l))其他:打印(“thingy”)我得到了这个错误:回溯(最近一次调用):文件“”,第1行,在Ask(“你在做什么”)文件“/media/pi/TRAVELDRIVE/Jarvis AI Code/Jarvis\u resources/Jarvis\u Functions.py”,第101行,在提问中,删除(x)值错误:列表。删除(x):x不在列表中正如错误所说,它不在列表中。你不能移除不存在的东西。尽管我现在得到了我想要的结果,但你的回答确实帮助我实现了目标。谢谢!