一种函数,它接受函数f和列表l这两个参数,并将函数应用于列表中的元素,并将它们作为列表返回

2024-10-01 07:46:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个函数:

def remove_trailing_newlines(s):
  s_clean = s.rstrip()
  return s_clean

此函数将删除字符串s结尾的尾随\n。 现在,我想对列表中的每个元素(字符串)应用相同的方法

我想创建一个函数mapl(f, l),其中f是remove_trailing_newlines(),l是一个列表,我们必须应用f并将其作为列表返回

例如: 在列表上l = ['Apple\n','banana\n','mango\n']

我希望输出为:l = ['Apple','banana','mango'] 使用mapl(f,l)函数


Tags: 函数字符串cleanapple列表returndef结尾
2条回答

您正在寻找:

list(map(remove_trailing_newlines, l))

我们可以传递自定义函数并将该函数应用于列表的每个元素

你也可以直接在map内调用rstrip,就像@yatu的答案一样

我想你想自己制作一个像内置映射函数一样的函数。请尝试以下操作:

def remove_trailing_newlines(s):
    s_clean = s.rstrip()

    return s_clean

def mapl(f,l):
    ret = []
    for i in l:
        ret.append(f(i))
    return ret

l = ['Apple\n','banana\n','mango\n']


new_list = mapl(remove_trailing_newlines,l)
print(new_list)

>> ['Apple', 'banana', 'mango']

如果不符合您的要求,请告诉我

相关问题 更多 >