- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我应该用什么数据结构来表示下表
'a', 1
'b', 2
'c', 3
'd', 4
'e', 5
因此计算接下来 i 行中第二项的总和似乎很自然:
例如当 i=1
'a', 2
'b', 3
'c', 4
'd', 5
当 i=2
'a', 2+3=5
'b', 3+4=7
'c', 4+5=9
当 i=3
'a', 2+3+4=9
'b', 3+4+5=12
当 i=4 时
'a', 2+3+4+5=14
我的两个想法:
最初我将表表示为子列表的列表:
lst = [['a', 1],
['b', 2],
['c', 3],
['d', 4],
['e', 5]]
但我不知道如何进行上述计算(在自然或直接的方式)。 sum(lst[0:0+i][1])
不起作用。关于我的方式的问题是如何表示 i 的子列表表中第二列的连续值,其中lst[0:0+i][1]
不起作用。 (并排使用两个支架不行吗?)
我有另一个想法,但我不知道如何实现(有人能指出是否可以实现吗?):
将上面的列表分成两个列表,每个列表对应每一列。
对第二列列表进行计算
合并第一个列表和第二列列表的结果。
谢谢。
最佳答案
您可以创建以下函数:
def my_sum(l, i):
return [
[x[0], sum(y[1] for y in l[j: j + i])] for j, x in enumerate(l[:-i], 1)
]
例子:
>>> my_sum(lst, 1)
[['a', 2], ['b', 3], ['c', 4], ['d', 5]]
>>> my_sum(lst, 2)
[['a', 5], ['b', 7], ['c', 9]]
>>> my_sum(lst, 3)
[['a', 9], ['b', 12]]
>>> my_sum(lst, 4)
[['a', 14]]
编辑:
使用 numpy
实现基于第二个想法:
import numpy as np
def my_sum(l, i):
a, b, n = [v[0] for v in lst], np.array([v[1] for v in lst]), len(l)
sums = np.zeros(n, dtype=np.int)
for j in xrange(1, i + 1):
sums[:n - j] += b[j: n]
return zip(a[:-i], sums[:-i])
关于python - 用于对接下来的几项求和的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267720/
这个想法是:(1) 一个大小适合内容物的外箱。(2) 向左浮动的 Logo 。(3) 两行相互堆叠的文本对接至 Logo 的右侧。(4) 顶行文本框将占据 Logo 定义的垂直空间的 30%,下行文本
我有一些 HTML 目前看起来像这样(在几个不同的页面中;一个页面将有多个这样的页面): 通过 JavaScript,这将在运行时以编程方式填充类似于以下内容: ...
当我将 View 拖到工作台窗口之外时,该 View 将变成分离 View 。 Eclipse 帮助说(工作台用户指南 -> 任务 -> 使用 View 和编辑器 -> 分离 View 和编辑器):“
在Form中有ToolStrip和Panel。 ToolStrip 的 Dock 值设置为 Top,Panel 的设置为 Fill。但是 ToolStrip 介入 Panel 并隐藏 Panel 的第
有没有关于在 WPF 中进行 AppBar 停靠(例如锁定到屏幕边缘)的完整指南?我知道需要进行 InterOp 调用,但我正在寻找基于简单 WPF 表单的概念证明,或者可以使用的组件化版本。 相关资
我是一名优秀的程序员,十分优秀!