初学python列表
首先我定义了一个列表
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列表的更多相关文章
- 初学Python——列表生成式、生成器和迭代器
一.列表生成式 假如现在有这样一个需求:快速生成一个列表[1,2,3,4,5,6,7,8,9,10],该如何实现? 在不知道列表生成式的情况下,可能会这样写: a=[1,2,3,4,5,6,7,8,9 ...
- 初学Python—列表和元组
一.什么是列表 列表是一系列数据的集合 二.列表的引用 首先定义一个列表 names=["alex","bob","alice"," ...
- 初学Python(十)——列表生成式
初学Python(十)--列表生成式 初学Python,主要整理一些学习到的知识点,这次是列表生成式. # -*- coding:utf-8 -*- ''''' 列表生成式 ''' #一行代码表达所有 ...
- 初学 Python(十四)——生成器
初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...
- 初学python之感悟
python的强大有目共睹,现将初学python,觉得其中比较重要的知识罗列如下: 类似于数组的东西:列表.元组.集合.字符串以及字典,这几个东西充分体现了python的强大和逆天. 列表: x=[1 ...
- Python 列表改为嵌套列表再转为矩阵
最终目的--------->[下面的形式我就可以直接转为矩阵,用mat即可] 下午为了实现list的这个功能,查找了好多库,但是都没有找到怎么做,索性就自己封装了一个函数实现了其功能: def ...
- 初学Python常见异常错误,总有一处你会遇到!
初学Python常见错误 忘记写冒号 误用= 错误 缩紧 变量没有定义 中英文输入法导致的错误 不同数据类型的拼接 索引位置问题 使用字典中不存在的键 忘了括号 漏传参数 缺失依赖库 使用了pytho ...
- 初学Python
初学Python 1.Python初识 life is short you need python--龟叔名言 Python是一种简洁优美语法接近自然语言的一种全栈开发语言,由"龟叔&quo ...
- python 列表排序
转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...
随机推荐
- AndroidStudio意外崩溃,电脑重启,导致重启Find In Path...查找功能失效,搜索结果缺失
解决方案: <AndroidStudio意外崩溃,电脑重启,导致重启打开Androidstudio后所有的import都出错>
- 大战Java虚拟机【3】—— 类加载机制
前言 当你的代码编译成class文件之后,那么虚拟机如何加载这些文件呢?我们需要知道虚拟机到底做了什么样的事情. 类的生命周期 加载--链接---初始化----使用---卸载 类加载过程 1.加载 读 ...
- [工具向]__androidstudio签名打包apk及配置自动签名
前言 好几天了,没怎么更新了,最近迷上了抓妖,有些懈怠了,这两天在看android的一些东西,java暂时就先放了放,昨天终于是完成了一个小阶段的任务,今天来对这两天的东西进行一下总结. *** 因为 ...
- SmartSql For Asp.Net Core 最佳实践
常规操作 安装 SmartSql Install-Package SmartSql 安装 SmartSql.DIExtension Install-Package SmartSql.DIExtensi ...
- centos6.7 配置外网端口映射
目的: 为节省公司外网ip,现需要把部分没有外网ip的服务器做端口映射. 服务器节点: 118.192.66.66(外网服务器) em1 内网 em2 外网 192.168.32.124(内网服务器) ...
- Linux 进程管理工具 supervisord 安装及使用
Supervisor是用Python实现的一款非常实用的进程管理工具 1.安装过程非常简单 安装python 安装meld3-0.6.8.tar.gz 安装supervisor-3.0a12.tar. ...
- AppBoxFuture(二): Say goodbye to sql!
信息管理类应用系统离不开关系数据存储,目前大家基本都使用的是传统的数据库如MySql.Postgres等.作者从事信息化建设十多年,个人认为传统的数据库存在以下的问题: 扩展问题: 系统数据的 ...
- 痞子衡嵌入式:ARM Cortex-M文件那些事(3)- 工程文件(.ewp)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的project文件. 前面两节课里,痞子衡分别给大家介绍了嵌入式开发中的两种典型input文件:源文件(.c/.h/.s). ...
- 拼多多、饿了么、蚂蚁金服Java面试题大集合
自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出 ...
- Java高阶语法---Volatile
背景:听说Volatile Java高阶语法亦是挺进BAT的必经之路. Volatile: volatile同步机制又涉及Java内存模型中的可见性.原子性和有序性,恶补基础一波. 可见性: 可见性简 ...