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

编写一个在列表索引之间交替使用正负号的函数

谢铭
2023-03-14
问题内容

在我正在处理的作业集中,我遇到了以下问题,我在使用Python-3函数时很难回答:

“编写一个功能Alternate:int list-> int,它接受一个数字列表,并将它们加上交替的符号。例如,alternate [1,2,3,4]
= 1-2 + 3-4 = -2。”

完全公开,该问题是考虑到Standard ML编写的,但我一直在尝试学习Python并遇到了这个问题。我在想它涉及以下方面的组合:

拆分列表,

if [i] % 2 == 0:

然后将备用加号和减号串联在一起。


问题答案:

def alternate(l):
return sum(l[::2]) - sum(l[1::2])

取所有偶数索引元素的总和,然后减去所有奇数索引元素的总和。空列表的总和为00 ,所以它们巧合地处理了长度为0或1的列表,而没有专门针对这些情况的代码。



 类似资料:
  • 如何替换文本文件中两个引号之间的所有输入。第一个引号总是前面有一个选项卡,或者它是行中的第一个字符(csv文件)。我尝试了以下正则表达式 但是这个正则表达式只匹配两个引号之间的第一个输入,而不是全部。 例如,以下文本: 应成为 我读了下面的文章(javascript正则表达式替换括号之间的空格),非常相似,但正则表达式建议在我的情况下不可用。

  • 给定一个正数和负数(没有零)的数组,我必须以这样的方式排列它们:正数和负数应该连续排列。 正数和负数的数量可能不相等,也就是说,如果没有正数(或负数),那么所有剩余的负数(或正数)都会追加到数组的末尾。 顺序很重要,即如果输入数组是,那么输出数组应该是。代码在O(n)中完成,而不使用另一个数组。 这是我在java中的解决方案,我再次测试了几个案例并成功了。但是,我不确定这是否在O(n)时间内运行。

  • 我有三个表在我的应用程序,把它们称为,,和。有字段为和,两者都有索引。有字段带索引,有字段带索引。 当我执行以下查询时: 它真的很慢(约1秒)。 当我执行以下查询时: 速度非常快(约20毫秒)。 据我所知,这些桌子大小差不多 关于这两个查询之间的巨大性能差异,有什么想法吗? 表大小: > tableA:2061392行 表B:175339行 TableC: 1888912行 postgresql-

  • 问题内容: 因此,我正在编写一个程序,将文本文件分解为单词,然后将列表写入新的文本文件。 我遇到的问题是我需要列表中的字符串使用双引号而不是单引号。 例如 我得到这个当我想这个 这是我的代码 我是python的新手,对此一无所获。有人知道如何解决吗? [编辑:我忘了提及我在arduino项目中使用的输出,该项目要求列表具有双引号。 问题答案: 您无法更改的工作方式。 如何使用用于字符串的JSON格

  • 所以我在一次在线面试中被要求解决这个问题,但失败了。我立即被拒绝了。我正在试图找出我的算法出了什么问题。 两个最大的数字 用您选择的编程语言编写一个函数,该函数接受一个整数数组并返回前两个最大数字的索引。记录边缘情况下的任何特殊行为(如果有的话)。该函数的运行时间应为其中N是数组的长度和附加空间。 我编写了这个方法来对C#中的数字进行排序: 关于记录边缘案例的特殊行为,我得到了以下回应: 对于数字

  • 问题内容: 写一个方法 公共静态ArrayList merge(ArrayList a,ArrayList b) 合并两个数组列表,两个数组列表中的元素交替出现。如果一个数组列表短于另一个数组列表,则请尽可能长地交替,然后附加较长数组列表中的其余元素。例如,如果a是 1 4 9 16 b是 9 7 4 9 11 然后合并返回数组列表 1 9 4 7 9 4 16 9 11 我尝试做的是编写一个带i