首先我定义了一个列表

a = [2,3,3,5,6,7,9]

我想对列表a 的每个值都加一,哈,脑子里顿时闪过一道光

①首先我想到的是用for 循环来进行加一,即以下代码

a = [2,3,3,5,6,7,9]
print(a,type(a))
for i in a:

a[i] = a[i]+1
print(a)

但是运行的时候报错了,错误如下:

a[i] = a[i]+1

IndexError: list index out of range

怎么会出错呢?看了一下错误原来是自己有点**而造成索引越界了;当for第一次循环的时候 i = 2(列表a的第一个值,从第一个值循环输出a各个元素赋给i),a[i] = a[2] = 3 + 1 =4  此时列表a = [2,3,4,5,6,7,9];第二次循环的时候 i = 3,a[i] = a[3] = 5 + 1 =6  此时列表a = [2,3,4,6,6,7,9];第三次 i = 4,a[i] =a[4] = 6 + 1 = 7   此时列表 a = [2,3,4,6,7,7,9];第四次循环的是时候 i = 6,a[i] = a[6] = 9 + 1 = 10 此时列表 a = [2,3,4,6,7,7,10];第五次的时候 i = 7,a[i] = a[7]  可以看到列表a最大为 a[6],所以a[7] 就会造成索引越界。

②第二次则想自己给他加一个索引不就好了,本着**到底的原则,就有了以下错误

a = [2,3,3,5,6,7,9]
print(a,type(a))
for index,i in a:
    a[index] = a[index]+1
print(a)

运行以上代码时出现了以下错误;

for index,i in a:

TypeError: 'int' object is not iterable

错误提示说 ‘int’ 对象不可以迭代。此时我 ???

③这还不行,那把列表a变成枚举类型试一下吧:

a = [2,3,3,5,6,7,9]
print(a,type(a))
for index,i in enumerate(a):                                                                         
    a[index] = a[index]+1
print(a)

输出如下:

[2, 3, 3, 5, 6, 7, 9] <class 'list'>

[3, 4, 4, 6, 7, 8, 10]

咦~~~,可以输出了.

唉,心累,学个列表都没学好,赶紧回去看一下知识:

列表可以通过索引下标来取出、修改、删除列表中的值,但是不能通过索引下标来向列表中增加值。

要想增加值,可以调用append()方法来追加,或者调用insert()方法来插入

另外可以调用index()方法来查找元素在列表中的位置

初学python列表的更多相关文章

  1. 初学Python——列表生成式、生成器和迭代器

    一.列表生成式 假如现在有这样一个需求:快速生成一个列表[1,2,3,4,5,6,7,8,9,10],该如何实现? 在不知道列表生成式的情况下,可能会这样写: a=[1,2,3,4,5,6,7,8,9 ...

  2. 初学Python—列表和元组

    一.什么是列表 列表是一系列数据的集合 二.列表的引用 首先定义一个列表 names=["alex","bob","alice"," ...

  3. 初学Python(十)——列表生成式

    初学Python(十)--列表生成式 初学Python,主要整理一些学习到的知识点,这次是列表生成式. # -*- coding:utf-8 -*- ''''' 列表生成式 ''' #一行代码表达所有 ...

  4. 初学 Python(十四)——生成器

    初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...

  5. 初学python之感悟

    python的强大有目共睹,现将初学python,觉得其中比较重要的知识罗列如下: 类似于数组的东西:列表.元组.集合.字符串以及字典,这几个东西充分体现了python的强大和逆天. 列表: x=[1 ...

  6. Python 列表改为嵌套列表再转为矩阵

    最终目的--------->[下面的形式我就可以直接转为矩阵,用mat即可] 下午为了实现list的这个功能,查找了好多库,但是都没有找到怎么做,索性就自己封装了一个函数实现了其功能: def ...

  7. 初学Python常见异常错误,总有一处你会遇到!

    初学Python常见错误 忘记写冒号 误用= 错误 缩紧 变量没有定义 中英文输入法导致的错误 不同数据类型的拼接 索引位置问题 使用字典中不存在的键 忘了括号 漏传参数 缺失依赖库 使用了pytho ...

  8. 初学Python

    初学Python 1.Python初识 life is short you need python--龟叔名言 Python是一种简洁优美语法接近自然语言的一种全栈开发语言,由"龟叔&quo ...

  9. python 列表排序

    转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...

随机推荐

  1. 如何实现登录、URL和页面按钮的访问控制?

    用户权限管理一般是对用户页面.按钮的访问权限管理.Shiro框架是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理,对于Shiro的介绍这里就不多说.本篇博客主要是了解Shiro的 ...

  2. MassTransit&Sagas分布式服务开发ppt分享

    saga,与分布式相关,最早被定义在Hector Garcia-Molina和Kenneth Salem的论文"Sagas"中.这篇论文提出了一个saga机制来作为分布式事务的替代 ...

  3. 模板模式之clone()方法

    clone()方法的使用,体现了模板模式的思想,常见用法可以参考:http://blog.csdn.net/zhangjg_blog/article/details/18369201

  4. 在 Vue 结合 Axios 使用过程 中 post 方法,后台无法接受到数据问题

    关于在 vue 中 使用 axios 相关 bug 首先,我们来看下 axios 的 github 传送门 axios 然后我们再介绍下 axios 的作者的 github 传送门 Matt 最后,我 ...

  5. RabbitMQ消息队列(五)-安装amqp扩展并订阅/发布Demo(.Net Core版)

    publish发布消息 新建一个Asp.Net Core控制台项目:PublishDemo 安装Nuget包 Install-Package RabbitMQ.Client 添加命名空间引用 usin ...

  6. JQuery官方学习资料(译):遍历JQuery对象和非JQuery对象

        JQuery提供了一个对象遍历的Utility方法$.each()和一个JQuery集合遍历方法.each(). $.each()     $.each()是一个通用的方法用来遍历对象和数组, ...

  7. Oracle day02 函数

    order by关键字作用:用于对查询结果进行排序 用法:    1.利用asc .desc对排序列进行升序或降序    2.order by后可以添加多个列(逗号分隔),当一个列的值相同时,在按第二 ...

  8. java_泛型2

    一.泛型_泛型概述及好处     1).在定义集合时,我们是希望集合中只存储一种类型的引用,这时可以使用泛型:       ArrayList<String> list = new Arr ...

  9. 永不重复的id生成器

    目录 (1)需要导入的包 (2)IdGenerator类 (3)使用举例 (1)需要导入的包 主要用在格式化日FastDateFormat.getInstance("yyyyMMddHHmm ...

  10. Dubbo+ZK与Eureka注册中心比较

    Eureka可以很好的应对网络故障导致部分节点失去联系的情况,而不会像zk那样因为选举导致整个集群不可用 dubbo + zk 当向注册中心查询服务注册列表时,可以容忍注册中心返回的是几分钟以前的注册 ...