Python求和麻烦
我有下一个问题:
x=[['1', '7', 'U1'], ['1.5', '8', 'U1']]
y=sum(sum(float(el) for el in els[:-1]) for els in x)
print(x)
print(y)
在这段代码中,对所有数字求和,但我想从第一个 ['1', '7', 'U1']、第一个数字和第二个 ['1.5', '8', 'U1'] 第一个数字,第二个数字相同......
所以最终结果填充看起来像“矩阵”:
y=
[ [2.5], #1+1.5=2.5
[15]] #7+8=15
I have next problem:
x=[['1', '7', 'U1'], ['1.5', '8', 'U1']]
y=sum(sum(float(el) for el in els[:-1]) for els in x)
print(x)
print(y)
In this code sum, sum all numbers, but I want to sum from first ['1', '7', 'U1'], first number, and from second ['1.5', '8', 'U1'] first number, and same for second...
so final result fill look as "matrix" :
y=
[ [2.5], #1+1.5=2.5
[15]] #7+8=15
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
zip(*x)
是一种转置矩阵的简单方法(切换行 <--> 列),这使您可以轻松地对每一行求和。zip(*x)
is a simple way to transpose the matrix (switch rows <--> columns), and this allows you to easily sum each row.