首先我定义了一个列表

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. asp.net core 系列 7 Razor框架路由(上)

    一.概述 在上二篇中,主要是介绍了asp.net core mvc中路由的使用,这篇继续介绍路由在ASP.NET Core Razor中的使用.Razor Pages应该使用默认的传统路由,从应用程序 ...

  2. 大战Java虚拟机【0】——目录

    发现一直在上层应用更新博客的我,突然发现也是时候同时更新一波基础知识了.然后就发现了一个点我还没有更新过,那就是Java虚拟机. 很多人在学习Java的时候都或多或少接触过一点,然后几乎有下面几种情况 ...

  3. C#2.0导航

    主要特性 泛型 类型和方法的参数化 可空类型 值类型可为null 委托 更简化的方式 迭代器 简单的foreach,不简单的状态机

  4. 自定义微信小程序导航(兼容各种手机)

    详细代码请见github,请点击地址,其中有原生小程序的实现,也有wepy版本的实现 了解小程序默认导航 如上图所示,微信导航分为两部分,第一个部分为statusBarHeight,刘海屏手机(iPh ...

  5. Kubernetes审计日志方案

    前言 当前Kubernetes(K8S)已经成为事实上的容器编排标准,大家关注的重点也不再是最新发布的功能.稳定性提升等,正如Kubernetes项目创始人和维护者谈到,Kubernetes已经不再是 ...

  6. MaxCompute/DataWorks权限问题排查建议

    MaxCompute/DataWorks权限问题排查建议 __前提:__MaxCompute与DataWorks为两个产品,在权限体系上既有交集又要一定的差别.在权限问题之前需了解两个产品独特的权限体 ...

  7. SSH隧道:端口转发功能详解

    SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 1.1 ssh安全隧道(一):本地端口转发 如下图,假如host3和host ...

  8. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project child02

    maven打包成war时,报错: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (d ...

  9. 使用LR编写HTTP协议Json报文格式接口脚本实战

    最近在做HTTP协议接口压测时,遇到一些编写脚本方面的问题,在这里总结记录下,以便以后温习,也希望能帮助到和我有同样困惑的朋友吧. //实战代码如下所示:Action() { lr_start_tra ...

  10. DSAPI多功能组件编程应用-网络相关(下)

    [DSAPI.DLL下载地址] 在本篇,我将重点介绍DSAPI.DLL中Socket编程的使用.众所周知,Socket用起来不难,但是写起来麻烦.我对Socket进行了封装,进行了高度简化.下面我将通 ...