资讯专栏INFORMATION COLUMN

Python每日小知识(3):list和tuple的使用

SoapEye / 991人阅读

摘要:同样的用上节讲的函数获取元素的个数记住这是获取的是列表个数个数个数重要的事说三遍。用索引访问每个元素的位置,索引是从开始的开始的开始的索引也是有容忍限度的超过了就会原地爆炸报错如果列表中元素个数贼多,想获取后面的元素就要实行曲线救国了。

list和tuple是Python内置的有序集合,一个是可变的,一个是不可变滴;这都不是事,主要是理解一下“指向不变”。

看图说话:

理解了这个这两玩意就差不多了。

先怼list有序集合 

比如你想列出你想的一系列东西:

变量laughter就是一个list。同样的用上节讲的len()函数获取list元素的个数

记住这是获取的是listd列表“个数、个数、个数”重要的事说三遍。

用索引访问每个元素的位置,索引是从0开始的、0开始的、0开始的

索引也是有容忍限度的超过了就会原地爆炸(报错)

如果列表中元素个数贼多,想获取后面的元素就要实行曲线救国了。写个例子瞧瞧

最后一个索引就用len(test)-1;用“-1”获取最后吊车尾的元素,以此类推获取倒数第二、第三的元素,同样超出范围也是无法忍受的就会报错。

注意“-1”就是按个数来算的最后一个,而不是索引从0开始,切记、切记、切记。

list是一个不安稳的列表它是可变的

(1)    追加元素到最后;append()
(2) 插入到指定位置;insert()索引
(3) 删除吊车尾元素;pop()
(4) 删除指定位置元素;pop(i) i是索引位置
(5) 替换元素,直接赋值;
(6) list元素里也可以包含list;
(7) 空list长度为0。

下面就可以对号入座了

现在开始怼他的同胞tuple了外号叫:元组,是个比较固执的家伙,一旦初始化了就不能修改了,开始你的表演:

(1)    list和tuple长的贼像,一个比较硬朗(“[]”),一个比较圆润(“()”)关注第一、二个例子;它不能使用append()、insert()、也不能赋值,但获取元素的手段和list是一致的,第二个例子说明确定了这个元素就是    不可更改的,这样显得代码更加有安全感,所以说能用tuple代替list就用tuple;

(2) 看第三、第四个例子定义一个空的tuple,可以正确显示结果“()”,但定义一个tuple元素结果却是“1”,说好的不可变呢,还不是因为计算机不知道把“()”当成是数学公式的括号呢,还是tuple呢,这应该得打场架,最后Python就来救场了,说好定义tuple时,加个逗号,来消除误解;

(3) 例子看第五个。

好了最后来解决我们的终极大BOSS:“指向不变”

肤浅的看tuple元素确实改变了,但其实变的不是tuple这家伙,而是跟他长的很像的list在捣乱,tuple一开始指向list并未改成别的list,归根结底tuple所谓“不变”说的是每个元素指向不变。指向了‘面’就不能指向‘对’。指向一个list,就不能改成指向其它对象,但指向这个list本身是可变的。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41465.html

相关文章

  • Python每日知识(5):调用定义函数

    摘要:再调用个绝对值内置函数来加深影响心急吃不了热豆腐啊有且仅能传入一个参数,传入不符合数量的参数就会报错误传入的参数数量是没错了,但传入错误的参数类型也是会死的很惨的。 调用函数 干货:Python官网查看函数帮助信息 http://docs.python.org/3/libr... showImg(https://segmentfault.com/img/bV71Kn?w=348&h=8...

    yibinnn 评论0 收藏0
  • Python 进阶之路 (十一) 再立Flag, 社区最全itertools深度解析(下)

    摘要:将每一行作为返回,其中是每行中的列名。对于每一行,都会生成一个对象,其中包含和列中的值。它返回一个迭代器,是迭代结果都为的情况。深度解析至此全剧终。 简单实战 大家好,我又来了,在经过之前两篇文章的介绍后相信大家对itertools的一些常见的好用的方法有了一个大致的了解,我自己在学完之后仿照别人的例子进行了真实场景下的模拟练习,今天和大家一起分享,有很多部分还可以优化,希望有更好主意...

    tomorrowwu 评论0 收藏0
  • Python零基础到入门】Python基础语法篇——基本数据类型【文末送书】

    摘要:布尔值布尔值和布尔代数的表示完全一致,一个布尔值只有两种值的数据类型可以通过内置的函数查询,例如还可以用来判断和的区别在于不会认为子类是一种父类类型。会认为子类是一种父类类型。基本功能是进行成员关系测试和删除重复元素。 ...

    Winer 评论0 收藏0
  • 我是这样学习Python列表

    摘要:接下来本文将从这四个方面来介绍列表的一些常用小技巧。可能有人会对这两种拷贝存在疑问,他们得到的列表的形式不是一样的嘛是的,它们在拷贝后得到的列表形式确实是一样的。比较两个列表是否是一样的,这里的前提条件是这两个列表对象不是同一个对象。 微信公众号:冰咖啡与狗一杯冰咖啡,一条狗,一个碎碎念的程序员... 1. 列表 不同于 C++ 和 Java,在 Python 中,没有在标准库中内置数...

    Lorry_Lu 评论0 收藏0
  • Python深入理解元组与列表使用区别

    摘要:元组是对象的集合,跟列表十分相似。元组的值在语法上用逗号分隔。创建一个新的元组元组运算符与字符串一样,元组之间可以使用号和号进行运算。在列表中索引结果获取单个元素,而且切片允许获取一组元素。使用方法将删除整个元组。 元组是 Python 对象的集合,跟列表十分相似。下面进行简单的对比...

    番茄西红柿 评论0 收藏2637

发表评论

0条评论

最新活动
阅读需要支付1元查看
<