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

清单汇总

宦兴朝
2023-03-14
问题内容

我想从数字列表中获得一个总计。

出于演示目的,我先使用 range

a = range(20)

runningTotal = []
for n in range(len(a)):
    new = runningTotal[n-1] + a[n] if n > 0 else a[n]
    runningTotal.append(new)

# This one is a syntax error
# runningTotal = [a[n] for n in range(len(a)) if n == 0 else runningTotal[n-1] + a[n]]

for i in zip(a, runningTotal):
    print "{0:>3}{1:>5}".format(*i)

产量

  0    0
  1    1
  2    3
  3    6
  4   10
  5   15
  6   21
  7   28
  8   36
  9   45
 10   55
 11   66
 12   78
 13   91
 14  105
 15  120
 16  136
 17  153
 18  171
 19  190

如您所见,我初始化一个空列表[],然后append()在每个循环迭代中。有没有更优雅的方法,例如列表理解?


问题答案:

列表推导没有很好的方法(干净,可移植)来引用其正在构建的列表。一种好的,优雅的方法可能是在生成器中完成该工作:

def running_sum(a):
  tot = 0
  for item in a:
    tot += item
    yield tot

要获得此列表,当然可以使用list(running_sum(a))



 类似资料:
  • 问题内容: 我是Java的新手,我需要列出列表列表。我可以在python中做到这一点,因为列表的元素可以是列表,因此在嵌入式列表中将引用列表,并且将引用嵌入式列表的zeroeth元素。有什么简单的方法可以在Java中实现此行为? 问题答案: 所有其他答案在技术上都是正确的,但是恕我直言,如果您实施了粗略的列表列表,您将无法在正确的抽象级别上处理数据。例如,我很确定列表列表在您的业务领域中已经意味着

  • 问题内容: 运行代码 退货 因此,每次在列表列表中每次更新元组(列表)的第一个参数,但第二个参数list [0]却没有更新。有人可以解释这里发生的事情并提出解决方法吗?我想输出 问题答案: 列表是可变类型-为了创建副本(而不只是传递相同的列表),您需要明确地这样做: 但是,已经是Python内置的名称-最好不要将该名称用作变量。这是一个不用作变量名并复制的版本: 请注意,我演示了两种不同的方法来复

  • 问题内容: 如何合并列表列表? 进入 如果我可以在合并列表之前在每个项目的开头和结尾添加一个值(例如html标签),那就更好了。 即,最终结果将是: 问题答案: 要串联列表,可以使用 要添加HTML标签,您可以使用列表推导。

  • 账单汇总用于查看在云联壹云平台上管理的所有平台的账单汇总。 账单汇总用于查看指定时间范围在 云联壹云 平台上管理的所有平台的账单信息,支持查看本月、上月、本季度、上季度、本年或自定义时间范围的账单汇总信息。 说明 公有云出账时间一般会延迟3-5天;即次月3~5号可以看到完整的上月的账单汇总。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “费用/账单/账单汇总” 菜单项,进入账单汇

  • 问题内容: 我有一个关于泛型的Java问题。我声明了一个通用列表: 然后以某种方法尝试实例化并将项目添加到该列表: 哪里只是类型的对象; 它不会编译。它说: List 不适用于参数(MyType) 任何想法? 问题答案: 您不能对extends进行“放置”。看一下泛型- 获取和放置规则 。

  • 本文向大家介绍CSS清除浮动方法汇总,包括了CSS清除浮动方法汇总的使用技巧和注意事项,需要的朋友参考一下 清除浮动