如果不包含某些单词,则将字符串附加到新列表

Append string to new list if it doesn't include certain words

bad_words = ['Hi', 'hello', 'cool']
new_strings = []
for string in old_strings:
    if bad_words not in old_strings:
        new_strings.append(string)

如何遍历 bad_words 以使其不包含包含它们的字符串?

使用 any() 和列表理解:

bad_words = ['Hi', 'hello', 'cool']
new_strings = [string 
               for string in old_strings 
               if not any(bad_word in string for bad_word in bad_words)]
bad_words = ['Hi', 'hello', 'cool']
new_strings = []
for string in old_strings:
    if string not in bad_words: 
        new_strings.append(string)

你的问题不清楚,但我认为这是基于一些假设的答案

我认为您使用了错误的数据结构。如果您想要集合中的唯一值,您应该使用 set 而不是列表。

bad_words = {'Hi', 'hello', 'cool'} # this is a set

# now if you want to add words to this set, call the update method
new_strings = []
bad_words.update(new_strings)

您始终可以将集合转换为字符串,如下所示:

bad_words = {'Hi', 'hello', 'cool'}
l = list(bad_words)

有关何时使用 set/list/dict 的更多信息,请检查 this