首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python内置sum函数

Python内置sum函数
EN

Stack Overflow用户
提问于 2016-11-09 20:25:04
回答 5查看 901关注 0票数 0

我有一个关于python的简单问题:

假设我有A = [1,2,3,4],我想对第二个和第三个条目中的元素求和。我如何在python中做到这一点?sum(A[i] for i in [1:2]) = 2 + 3 = 6不能工作。

EN

回答 5

Stack Overflow用户

发布于 2016-11-09 20:34:51

您的代码无法工作,因为[1:2],而不是Python语言中自己的上的合法表达式:

代码语言:javascript
运行
复制
    [1:2]
      ^
SyntaxError: invalid syntax

修复方法

代码语言:javascript
运行
复制
sum(i for i in A[1:3]) 

都会起作用的。

更好的解决方案

代码语言:javascript
运行
复制
sum(A[1:3])

阅读an informal introduction to python中的列表切片

票数 3
EN

Stack Overflow用户

发布于 2016-11-09 20:34:14

这是无效的语法,您可以使用:

代码语言:javascript
运行
复制
sum(A[i] for i in [1,2])

或者:

代码语言:javascript
运行
复制
sum(A[i] for i in range (1,3))

或者使用slice:

代码语言:javascript
运行
复制
sum(i for i in A[1:3])

不包括切片中的最后一个索引。

(或者像下面的评论所说的,更简单的是: sum(A1:3) )

您的代码无效的原因是slice不能单独存在。不得不说,这是一个切片,例如,A1:3是A的切片,但1:3没有说明它应该获取的元素。第二个问题是索引,就像我提到的,最后一个不包括在内。

票数 2
EN

Stack Overflow用户

发布于 2016-11-09 20:34:22

代码语言:javascript
运行
复制
sum(A[1:3])

A1:3表示排除了从索引1到33的切片列表

阅读有关列表切片的内容。

祝你万事如意!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40506979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档