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

时间:2018-03-12 02:51:56

标签: python list function

所以我遇到了试图写一个函数的路障,这个函数只接受一个参数,一个列表和函数应该返回一个修改后的列表,它会添加一个'!'在列表中的每个项目结束之后。所以这就是我到目前为止所做的:

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!']为第二个。

对我来说,修改它的最佳方法是什么,以便列表中的每个项目最后都带有感叹号? 谢谢!

3 个答案:

答案 0 :(得分:2)

完成R 33 R 423 16 t f G 77 8 f t R 33 t f G 88 循环后,您必须使用 private void readMartianFile(File file) throws FileNotFoundException{ Scanner martian = new Scanner(file); char type = martian.next().charAt(0); int newId ; int newVol; char esp; char veg; while(martian.hasNext()) { type = martian.next().charAt(0); switch(type) { case 'G': break; case 'R': break; } } martian.close(); } 。 像这样:

return

注意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'])) 循环的末尾。如果您不这样做,只要return循环执行for中的第一个for,该函数就会返回。

答案 1 :(得分:1)

其他人指出了语法错误,但是这里有一种方法可以使用列表理解来做同样的事情:

new_list = [x + "!" for x in my_list]

或作为一项功能:

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

另外,请勿为变量list命名。虽然它在你的例子中仅限于你的功能范围,但这是不好的做法。

答案 2 :(得分:0)

以下是获取您正在寻找的格式的代码:

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

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

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

这是输出:

['hi!', 'hello!']
['a!', 'b!', 'c!']
  1. 我们创建了您已经完成的功能,将list作为参数传递。
  2. 我创建了一个名为new_list的空列表,就像你一样。
  3. 我创建了for循环,迭代列表中的每个项目(i),list是参数(我们将作为arg传递的列表)。
  4. 我将i(列表项)的值更改为i +“!”。你把变量命名为热情,这很好用。你可以保留它。我将(i)的每个实例附加到new_list,然后最终返回到循环外的new_list,这样当你执行该函数时,你将获得一个完全格式化的列表,其中包含!(热情),最后你是寻找。我在代码和代码之间看到的区别在于你在for循环中返回了新格式化的列表,我认为这意味着它只迭代列表中的第一个项目,然后返回,而不返回整个列表。在for循环之外转换return语句似乎是你唯一的问题。