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

时间:2020-07-09 15:48:15

标签: python for-loop if-statement any

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,以使其不包含其中包含字符串的字符串?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

我认为您使用的是错误的数据结构。如果要在集合中使用唯一值,则应使用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)

有关何时使用集合/列表/字典的更多信息,请检查this