我正在制作艾,我正试图删除任何属于艾未未的名字或问候语!但是,即使有人知道发生了什哦和what_person_said_l_wt是用小写标记的用户输入(使用.lower),只是你知道, 谢谢,这是我的代码:
Static_Greetings = ["hey","hi","hello"]
Name = ["jarvis"]
for word in what_person_said_l_wt:
if word in Static_Greetings or word in Name:
print (word)
what_person_said_l_wt.remove(word)
结果
input: hey jarvis what is the weather?
Modified: jarvis what is the weather
它不会同时删除"嘿"和#34;贾维斯"只留下问题:"天气是什么?"因为它应该!
答案 0 :(得分:3)
当您从中删除元素时,您正在遍历列表。
制作列表的副本,然后迭代它。这样,您仍然可以从原始列表中删除,同时保留您在循环中的位置。
答案 1 :(得分:0)
迭代时无法修改列表。相反,使用这样的东西。它将删除(过滤掉)静态问候和名称中的单词。
Static_Greetings = ["hey","hi","hello"]
Name = ["jarvis"]
what_person_said = 'hey jarvis what is the weather?'
print(' '.join([word for word in what_person_said.split()
if word not in Static_Greetings + Name]))
天气怎么样?