当前位置: 首页 > 面试题库 >

通过三个参数简化功能

酆景辉
2023-03-14
问题内容

reduce函数如何在python3中使用三个而不是两个参数工作。所以,对于两个

tup = (1,2,3)
reduce(lambda x, y: x+y, tup)

我得到这个。这只是总结了中的所有元素tup。但是,如果您为reduce函数提供如下三个参数,

tup = (1,2,3)
reduce(lambda x, y: x+y, tup, 6)

这将为您提供的价值12。我检查了python3的文档,并说第三个参数是初始化程序。也就是说,如果未插入第三个参数,那么默认的初始化程序是什么?


问题答案:

如果省略第三个参数,那么from中的 第一个tup将用作初始化程序。

或者,换句话说,将reduce()可选的3rd参数放在第二个参数的值之前(如果存在)。

而且,这意味着如果第二个参数是一个 序列,则第三个参数将用作默认值,就像只有 一个
元素(没有显式的初始化器参数)的第二个参数一样,它将是默认的返回值。

functools.reduce()文档包括该功能的Python版本:

def reduce(function, iterable, initializer=None):
    it = iter(iterable)
    if initializer is None:
        value = next(it)
    else:
        value = initializer
    for element in it:
        value = function(value, element)
    return value

请注意initializer,当不None使用时,如何将用作第一个值,而不是中的第一个值iterable



 类似资料:
  • 本文向大家介绍通过 Django Pagination 实现简单分页功能,包括了通过 Django Pagination 实现简单分页功能的使用技巧和注意事项,需要的朋友参考一下 作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 当博客上发布的文章越来越多时,通常需要进行分页显示,以免所有的文章都堆积在一个页面,影响用户体验。 Dj

  • 问题内容: 我有以下HTML: 以及以下Javascript: 当我尝试通过调用getElementByID设置选项卡背景图像时,就会出现问题- 我现在知道如何创建一个动态URL,该URL使用传入的参数以及其他一些硬编码值。在这种情况下,我们将OFF背景图像与ON背景图像交换。 我怎样才能做到这一点?有什么方法可以使用javascript变量,为其分配完整路径,然后将其作为背景图像路径发送到调用中

  • 问题内容: 我有一个类似以下的查询: 为了避免多次重复相同的表达式:我想定义一个CTE,并在select,where和group by表达式中使用查询该表 不幸的是,这不起作用,因为在创建 还有什么其他方法可以使我不重复这么多次? 问题答案: 使用,可用于定义别名字段,然后引用它们: 该仅仅是一个别名,不管你喜欢,你可以将其命名。

  • 问题内容: 我正在使用PhantomJS page.evaluate()进行抓取。我的问题是我传递到Webkit页面的代码是沙盒化的,因此无法访问我的主要幻象脚本的变量。这使得很难使抓取代码通用。 如何将参数推入页面? 问题答案: 我遇到了确切的问题。可以使用一些技巧,因为它也可以接受字符串。 有几种方法可以执行此操作,但是我使用了一个称为的包装器,该包装器接受其他参数以传递给必须在Webkit端

  • 问题内容: 我有一个Winforms应用程序和一个employeeListBox,departmentComboBox和一些文本框来显示员工信息,例如fNameTextbox,lNameTextBox ..... 我想通过departmentCombobox选定的值填充employeelistBox,并从employeeListBox中填充文本框。我具有用于选择部门员工的此存储过程 并填充列表框我

  • 我想确认一下Google maps的URL: http://maps.googleapis.com/maps/api/directions/json 可以通过POST进行参数化。我试着通过在explorer中获取来使用它,就像这样: 和工作良好,但如果我试图在我的Android应用程序中通过POST使用它,通过OutputStream发送这个查询: 起始=19.369707,-99.266696&