给出一个包含每月数字数据的列表,我如何轻松地将其转换为季度数据?
function tableAdd() {
var table = document.getElementById("table");
var titel = document.getElementById("Titel").value;
var description = document.getElementById("Description").value;
var row = table.insertRow();
var projectCell=row.insertCell(0);
projectCell.innerHTML = titel;
var newRow =row.insertCell(1);
var input = document.createElement("input");
input.type = "text";
input.value= description
newRow.appendChild(input);
}
tableAdd();
所需的输出:
<body>
<input type="text" id="Titel" value="test"/>
<input type="text" id="Description" value="test"/>
<table id="table">
</table>
<button onclick="tableAdd()">add</button>
</body>
我想做类似x= [5,8,3,4,5,6,1,2,5,3,11,8] #monthly data for Jan-Dec
的事情,但是x表示x不可迭代。
我不认为这是重复的。我专门在寻找列表理解解决方案。
答案 0 :(得分:1)
列表理解方式:
[sum([x[i],x[i+1],x[i+2]]) for i in range(0,len(x),3)]
#[16, 15, 8, 22]
或者以一种更好的方式(感谢@JonClements):
[sum(x[i:i+3]) for i in range(0, len(x), 3)]
和一种numpy
方式:
import numpy as np
np.sum(np.array(x).reshape(-1,3),axis=1)
#array([16, 15, 8, 22])
答案 1 :(得分:0)
不要发疯,您可以将它们切成薄片然后与每个小组一起工作
x= [5,8,3,4,5,6,1,2,5,3,11,8]
a, b, c, d = x[:3], x[3:6], x[6:9], x[9:12]
print(a, b, c, d)
(xenial)vash@localhost:~/python/stack_overflow$ python3.7 slice_q.py [5, 8, 3] [4, 5, 6] [1, 2, 5] [3, 11, 8]
从这里开始,如果您想对每个组求和,可以执行以下操作
lista = [a, b, c, d,]
for i in lista:
print(sum(i))
16 15 8 22