[英]Adding “i”th elements of each of the inner arrays of an array (2 dimensional) in Python and to make a new array with the addition as the “i”th element
#Python Code #Python 代码
n = 5
sprints = [2, 4, 1, 3]
s = [[0]*n for i in range(len(sprints)-1)] #array of 5*3
add_arr = [0 for i in range(n)] #array of 5
for i in range((len(sprints)-1)):
for j in range(n):
if sprints[i]<sprints[i+1]:
for k in range(sprints[i]-1,sprints[i+1]):
s[i][k] = 1
else:
for m in range(sprints[i+1]-1,sprints[i]):
s[i][m] = 1
print(s)
Output -输出 -
[[0,1,1,1,0],[1,1,1,1,0],[1,1,1,0,0]]
I want to add each of the "i"th elements of the inner arrays to create a new array such that:我想添加内部数组的每个“第 i”个元素以创建一个新数组,以便:
add_arr = [[0+1+1],[1+1+1],[1+1+1],[1+1+0],[0+0+0]] = [2,3,3,2,0]
Please Help!请帮忙!
Use zip
and map
:使用
zip
和map
:
add_arr = list(map(sum, zip(*s)))
print(add_arr)
[2, 3, 3, 2, 0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.