专栏首页Java架构师进阶Python精讲之必备的内置类型-列表,建议收藏

Python精讲之必备的内置类型-列表,建议收藏

Python提供了list类型来表示数组。你可以使用这种类型来表示多个具有相同结构的实例,比如:你想在程序中存储多个人的联系方式,那么你可以使用list来完成。

本文将从以下几个方面来介绍内置的列表类型:

列表的数据结构

列表的常用操作

列表的数据结构

下图是一张关于list的示意图:

这个列表里有6个str元素,每个元素都有一个索引(0-5),你可以使用索引来存取某个元素。为了简化程序的逻辑,一个列表里面的元素类型应该是一致的,但是,由于Python是弱类型语言,因此,一个列表里面可以存在不同类型的元素,下面的代码片段说明了这一点:

>>> arr = ["I love digolds",1]>>> arr[0]'I love digolds'>>> arr[1]1>>> type(arr[0])>>> type(arr[1])

列表的常用操作

为了存储多个类型一样的元素,你需要使用list,此时你还需要对列表进行各种操作。最常见的有遍历这个列表,往列表中追加或删除一个元素,从列表中存取一个元素等等。接下来,让我们通过几个例子来说明这些操作。

以下代码遍历了一个数组

>>> my_list = ['I','love','digwebs']>>> forwinmy_list:... print(w)... Ilovedigwebs

以下代码获取数组的长度

>>> len(my_list)3

以下代码向数组末尾添加一个元素

>>> my_list.append('!')>>> my_list['I','love','digwebs','!']

向数组末尾删除一个元素

>>> my_list.pop()'!'>>> my_list['I','love','digwebs']

存取数组中的某个元素

>>> my_list[0] +'爱'+ my_list[2]'I爱digwebs'>>> my_list[0] ='我'>>> my_list['我','love','digwebs']

清除数组中的所有元素

>>> my_list.clear()>>> my_list[]

拼接2个数组A=[7,8,9]和B=[1,2,3]

>>>A=[7,8,9]>>>B=[1,2,3]>>>A+B[7,8,9,1,2,3]>>>B+A[1,2,3,7,8,9]

对数组A=[7,1,4,90,2,100,87]排序

>>> A=[7,1,4,90,2,100,87]>>> A.sort()>>> A[1,2,4,7,87,90,100]

从数组中A=[7,1,4,90,2,100,87]取出子数组

>>> A=[7,1,4,90,2,100,87]>>> start =1>>> end =6>>> step =2>>> A[start:end:step][1,90,100]

start、end、step的规则如下定义

#The Python slicing operator syntax[start(optional):stop(optional):step(optional)]Start-> Thestartingindex(Bydefaultincludedinthe sliceoutput)Stop-> The closingindex(Excludedfromthe sliceoutput)Step -> Tells how manyvaluestoexcludefromthe end. Thedefaultis1.

数组的逆向操作

>>> A = ['foo','bar','baz','qux','quux','corge']>>> A[-1]'corge'>>> A[-1:-3:-1]['corge','quux']

总结

本文介绍了Python中的内置类型-列表,它经常用于表示多个相同类型的元素。你能够往里面增加或删除元素,还能够遍历所有元素,在遍历的时候,你还可以搭配条件语句来退出或忽略循环。Python中还提供了另外一种列表类型-元组,它与列表非常相似,但是具有某些特性。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 网络爬虫的原理

    互联网上,公开数据(各种网页)都是以http(或加密的http即https)协议传输的。所以,我们这里介绍的爬虫技术都是基于http(https)协议的爬虫。

    一墨编程学习
  • 75道常见AI面试题,看看你的知识盲点在哪?(附解析)

    【导语】正值求职、跳槽季,无论你是换工作还是找实习,没有真本事都是万万不行的,可是如何高效率复习呢?之前我们给大家推荐了一份 Python 面试宝典,收藏了近 ...

    AI科技大本营
  • C语言知识汇总,史上最全面总结,没有之一

    C语言中文社区
  • 【阅读清单】有奖内测体验活动

    完成了内测体验的小伙伴,可以填写问卷,活动结束后我们将统一进行审核,审核结束就进行礼品发放。问卷链接:https://wj.qq.com/s2/7433898/...

    云加社区
  • 在知乎上学 Python - 爬虫篇

    知乎是个好地方。虽然近年来,为了吸引更多的用户,知乎的定位与早期略有点偏离。但从内容质量和专业性来说,知乎仍然是国内数一数二的知识型社区。不少同学都是通过知乎发...

    Crossin先生
  • GitHub Star 破万!这份指南教你如何从零开始学数据科学!

    当你试图学习一门新技术时,或多或少都会感到不知所措。这时候,一份明确的学习路径可以帮你减轻这一焦虑。

    GitHubDaily
  • Python应该怎么学?

    最近,有小伙伴问我“如何学习Python?”,我给出的建议是首先要做好一个心理准备,Python学习过程真的很痛苦,其次要选择好python2还是python3...

    python学习教程
  • 最讨厌说大话,只想聊经验!我从创建Hello world神经网络到底学会了什么?

    我开始跟神经网络打交道是在几年之前,在看了一篇关于神经网络用途的文章后,我特别渴望能够深入研究一下这个在过去几年间吸引了众多关注的问题解决方案。 2015年,斯...

    AI科技大本营
  • 给Python学习者的文件读写指南(含基础与进阶,建议收藏)

    对于初学者来说,一份详尽又清晰明白的指南很重要。今天,猫猫跟大家一起,好好学习Python文件读写的内容,这部分内容特别常用,掌握后对工作和实战都大有益处。学习...

    Python猫

扫码关注云+社区

领取腾讯云代金券