Python 编写一个函数,返回修改后的列表!在列表中的每个项目之后

Python 编写一个函数,返回修改后的列表!在列表中的每个项目之后,python,list,function,Python,List,Function,因此,我在尝试编写一个函数时遇到了一个障碍,该函数只接受一个参数、一个列表,并且该函数应该返回一个修改后的列表,其中添加了一个“!”在列表中每个项目的末尾之后。这就是我到目前为止所做的: def add_enthusiasm_to_list(list): new_list = [] for i in list: enthusiasm = i + '!' new_list.append(enthusiasm) return(new_

因此,我在尝试编写一个函数时遇到了一个障碍,该函数只接受一个参数、一个列表,并且该函数应该返回一个修改后的列表,其中添加了一个“!”在列表中每个项目的末尾之后。这就是我到目前为止所做的:

def add_enthusiasm_to_list(list):

    new_list = []
    for i in list:
        enthusiasm = i + '!'
        new_list.append(enthusiasm)
        return(new_list)

print(add_enthusiasm_to_list(['hi', 'hello']))

print(add_enthusiasm_to_list(['a', 'b', 'c']))
但到目前为止,我只能得到每个列表的第一项,因此我的输出将是

['hi!']第一个和第二个

第二个是a

对我来说,最好的修改方法是什么,这样列表中的每个项目都会在末尾返回一个感叹号?
谢谢

一旦完成了
for
循环,就必须使用
返回。
像这样:

def add_enthusiasm_to_list(list):

    new_list = []
    for i in list:
        enthusiasm = i + '!'
        new_list.append(enthusiasm)
    return(new_list)

print(add_enthusiasm_to_list(['hi', 'hello']))

print(add_enthusiasm_to_list(['a', 'b', 'c']))

注意
返回
是如何缩进的,因此它位于函数中
for
循环的末尾。如果不执行此操作,则在
列表中的第一个
i
执行
for
循环后,函数将立即返回
for
,您必须在完成
for
循环后使用
return
。 像这样:

def add_enthusiasm_to_list(list):

    new_list = []
    for i in list:
        enthusiasm = i + '!'
        new_list.append(enthusiasm)
    return(new_list)

print(add_enthusiasm_to_list(['hi', 'hello']))

print(add_enthusiasm_to_list(['a', 'b', 'c']))

注意
返回
是如何缩进的,因此它位于函数中
for
循环的末尾。如果不执行此操作,则在
列表中的第一个
i
执行
for
循环后,函数将立即返回。其他人指出了语法错误,但以下是使用列表理解执行相同操作的方法:

new_list = [x + "!" for x in my_list]
或者作为一种功能:

def add_enthusiasm_to_list(my_list):
    return [x + "!" for x in my_list]

另外,不要将变量命名为
列表
。虽然在您的示例中,它仅限于您的函数范围,但这是一种不好的做法。

其他人指出了语法错误,但下面是一种使用列表理解的方法:

new_list = [x + "!" for x in my_list]
或者作为一种功能:

def add_enthusiasm_to_list(my_list):
    return [x + "!" for x in my_list]

另外,不要将变量命名为
列表
。虽然在您的示例中它仅限于函数的范围,但这是一种不好的做法。

以下是获取您所需格式的代码:

def add_enthusiasm_to_list(list):
        '''
        Model a function that adds !
        to the end of a list item
        '''

        new_list = []
        for i in list:
             i = i + '!'
             new_list.append(i)

        return new_list
打印(添加到列表(['hi','hello']))

打印(添加到列表中(['a','b','c']))

以下是输出:

['hi!', 'hello!']
['a!', 'b!', 'c!']
  • 我们像您一样创建函数,将list作为参数传递
  • 我创建了一个名为new_list的空列表,就像您所做的那样
  • 我创建了for循环,它迭代列表(I)中的每个项,列表是参数(我们将作为arg传递的列表)
  • 我将I(列表项)的值更改为I+“!”。您将变量i命名为热情,它工作正常。你可以留着。我将(I)的每个实例附加到新的_列表,然后最终返回到循环外部的新_列表,这样当您执行该函数时,您将得到一个完全格式化的列表!(热情)在你寻找的最后。我看到的代码和您的代码之间的区别是,您在for循环中返回了新格式化的列表,我假设这意味着它只迭代列表中的第一项,然后返回,而不返回整个列表。将return语句移到for循环之外似乎是唯一的问题

  • 以下是获取所需格式的代码:

    def add_enthusiasm_to_list(list):
            '''
            Model a function that adds !
            to the end of a list item
            '''
    
            new_list = []
            for i in list:
                 i = i + '!'
                 new_list.append(i)
    
            return new_list
    
    打印(添加到列表(['hi','hello']))

    打印(添加到列表中(['a','b','c']))

    以下是输出:

    ['hi!', 'hello!']
    ['a!', 'b!', 'c!']
    
  • 我们像您一样创建函数,将list作为参数传递
  • 我创建了一个名为new_list的空列表,就像您所做的那样
  • 我创建了for循环,它迭代列表(I)中的每个项,列表是参数(我们将作为arg传递的列表)
  • 我将I(列表项)的值更改为I+“!”。您将变量i命名为热情,它工作正常。你可以留着。我将(I)的每个实例附加到新的_列表,然后最终返回到循环外部的新_列表,这样当您执行该函数时,您将得到一个完全格式化的列表!(热情)在你寻找的最后。我看到的代码和您的代码之间的区别是,您在for循环中返回了新格式化的列表,我假设这意味着它只迭代列表中的第一项,然后返回,而不返回整个列表。将return语句移到for循环之外似乎是唯一的问题

  • 您只需要在函数的最后返回新列表。通过在<代码>的中间返回<>代码> NeXyList对于循环,在返回之前只允许将一个项目添加到<代码> NexyList< /C>中。通过在<代码>的中间返回<>代码> NeXyList对于循环,在返回之前只允许将一个项目添加到<代码> NexyList。谢谢!这让我有点疯狂,它告诉我现在应该正确地检查缩进。你在函数体中的缩进错误了,可能是因为一个简单的粘贴问题。(当然,这个问题只有在你回答一个关于缩进的问题时才会出现…)非常感谢!这让我有点疯狂,它告诉我现在应该正确地检查缩进。你在函数体中的缩进错误了,可能是因为一个简单的粘贴问题。(当然,这个问题只有在你回答一个关于缩进的问题时才会出现…)