在python中修改列表函数和替换字符串

在python中修改列表函数和替换字符串,python,Python,函数代码后面有两个骨架示例,分别称为“宠物”和“电影” 我需要以下代码的帮助,因为错误不断出现 代码: def cleaner(list1): for ele in list1: if ele == ['a']['the']['and']: print('X') movies = ["I","watched","a","funny","and",&qu

函数代码后面有两个骨架示例,分别称为“宠物”和“电影”

我需要以下代码的帮助,因为错误不断出现

代码:

def cleaner(list1):
    for ele in list1:
        if ele == ['a']['the']['and']:
        print('X')



movies = ["I","watched","a","funny","and","good","movie"]
cleaner(movies)
print(movies)
  • 你的
    如果ele=['a']['the']['和']:
    没有任何意义,那么一个变量怎么可能等于3个列表,每个列表中有一个项目?(这种语法甚至不存在

  • 您不需要替换任何内容,只需打印,您需要更改列表中的值


  • 这里是修改
    列表

    def cleaner(list1):
        for i, ele in enumerate(list1):
            if ele in ['a', 'the', 'and']:
                list1[i] = 'X'
    
    pets = ["the", "dog", "and", "a", "cat"]
    cleaner(pets)
    print(pets)
    
    这里是返回新列表的版本,因此需要在输出时赋值

    def cleaner(list1):
        blacklist = ['a', 'the', 'and']
        return ['X' if x in blacklist else x for x in list1]
    
    pets = ["the", "dog", "and", "a", "cat"]
    pets = cleaner(pets)
    print(pets)
    
  • 你的
    如果ele=['a']['the']['和']]:
    没有任何意义,那么一个变量怎么可能等于3个列表,每个列表都有一个项目?(这种语法甚至不存在)

  • 您不需要替换任何内容,只需打印,您需要更改列表中的值


  • 这里是修改
    列表

    def cleaner(list1):
        for i, ele in enumerate(list1):
            if ele in ['a', 'the', 'and']:
                list1[i] = 'X'
    
    pets = ["the", "dog", "and", "a", "cat"]
    cleaner(pets)
    print(pets)
    
    这里是返回新列表的版本,因此需要在输出时赋值

    def cleaner(list1):
        blacklist = ['a', 'the', 'and']
        return ['X' if x in blacklist else x for x in list1]
    
    pets = ["the", "dog", "and", "a", "cat"]
    pets = cleaner(pets)
    print(pets)
    
    问题在于您的if声明。您必须分别检查每个案例

    if ele=="a" or ele=="the" or ele=="and":
    
    
    因为您在那里所做的不是有效的Python表达式

    问题在于您的if声明。您必须分别检查每个案例

    if ele=="a" or ele=="the" or ele=="and":
    
    

    因为您在那里所做的不是有效的Python表达式。

    如果您想修改不可变对象列表的内容(字符串在Python中是不可变的),您需要对列表中的ele执行不同于
    的操作。因为更改
    ele
    实际上不会更改列表的内容。(虽然,您甚至没有这样做,您只是在打印“X”,但我认为这就是您想要做的)。您可以这样做,这将修改列表:

    def清洁剂(列表1): 对于范围内的i(len(列表1)): 如果在['a'、'和']中列出1[i]: 列表1[i]=“X” 宠物=[“狗”,“和”,“a”,“猫”] 清洁剂(宠物)
    或者,更优雅的方法:

    
    def清洁剂(项目):
    如果['a'、'和']中的项目:
    返回“X”
    其他:
    退货项目
    宠物=[“狗”,“和”,“a”,“猫”]
    清洁宠物=列表(地图(清洁者,宠物))
    
    如果您想修改不可变对象列表的内容(字符串在python中是不可变的),您需要对列表中的元素执行不同于
    的操作。因为更改
    ele
    实际上不会更改列表的内容。(虽然您甚至没有这样做,但您只是在打印“X”,但我假设这就是您想要做的)。您可以改为这样做,这将修改列表:

    def清洁剂(列表1): 对于范围内的i(len(列表1)): 如果在['a'、'和']中列出1[i]: 列表1[i]=“X” 宠物=[“狗”,“和”,“a”,“猫”] 清洁剂(宠物)
    或者,更优雅的方法:

    
    def清洁剂(项目):
    如果['a'、'和']中的项目:
    返回“X”
    其他:
    退货项目
    宠物=[“狗”,“和”,“a”,“猫”]
    清洁宠物=列表(地图(清洁者,宠物))
    
    posiibly更好地用于
    elein{a”,“the”,“and”}
    posiibly更好地用于
    elein{a”,“the”,“and”}