【Python基础入门系列】第08天:Python List

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

LIST   列表

比如,列出班里所有同学的名字,就可以用一个list表示:

>>> classmates = ['liuwang', 'xuezhang', 'allen']

>>> classmates

['liuwang', 'xuezhang', 'allen']

变量classmates就是一个list。用len()函数可以获得list元素的个数:

>>> len(classmates)
3

用索引来访问list中每一个位置的元素,记得索引是从0开始的:

>>> classmates[0]
'liuwang'
>>> classmates[1]
'xuezhang'
>>> classmates[2]
'allen'
>>> classmates[3]
Traceback (most recent call last):File "<stdin>", line 1, in <module>
IndexError: list index out of range

当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1

如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:

>>> classmates[-1]
'allen'

以此类推,可以获取倒数第2个、倒数第3个:

>>> classmates[-2]
'xuezhang'
>>> classmates[-3]
'liuwang'
>>> classmates[-4]
Traceback (most recent call last):File "<stdin>", line 1, in <module>
IndexError: list index out of range

当然,倒数第4个就越界了。

list是一个可变的有序表,所以,可以往list中追加元素到末尾:

>>> classmates.append('Adam')
>>> classmates
['liuwang', 'xuezhang', 'allen', 'Adam']

也可以把元素插入到指定的位置,比如索引号为1的位置:

>>> classmates.insert(1, 'Jack')
>>> classmates
['liuwang','jack','xuezhang', 'allen', 'Adam']

要删除list末尾的元素,用pop()方法:

>>> classmates.pop()
'Adam'
>>> classmates
['liuwang', 'jack', 'xuezhang', 'allen']

要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

>>> classmates.pop(1)
'Jack'
>>> classmates
['liuwang', 'xuezhang', 'allen']

要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

>>> classmates[1] = 'cool'
>>> classmates
['liuwang', 'cool', 'allen']

list里面的元素的数据类型也可以不同,比如:

>>> L = ['Apple', 123, True]

list元素也可以是另一个list,比如:

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>>> len(s)
4

要注意s只有4个元素,其中s[2]又是一个list,如果拆开写就更容易理解了:

>>> p = ['asp', 'php']
>>> s = ['python', 'java', p, 'scheme']

要拿到'php'可以写p[1]或者s[2][1],因此s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。

如果一个list中一个元素也没有,就是一个空的list,它的长度为0:

>>> L = []
>>> len(L)
0
  • 列表俗称是 Python 中的苦力,列表可变(可以改变列表的内容)

  • 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

  • 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = ['baidu', 'google', 12, 34];list2 = [1, 2, 3, 4, 5 ];list3 = ["a", "b", "c", "d"];

总结

本节给大家介绍了 Python 数据结构之列表的操作与使用,对 Python 工程师使用列表提供了支撑。当然关于列表还有很多内容,这里不能一一介绍,大家也可以上网查Python3的文档,按照自己需求使用各种函数。 

 

参考:

https://www.runoob.com/python3/python3-list.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金属磁记忆传感器封装

金属磁记忆传感器封装 摘 要 通过分析压力传感器和FBG传感器的结构,针对金属磁记忆传感器自身特点,结合井下作业要求,提出了金属磁记忆传感器的封装设计原则;根据该原则,设计出了一种金属磁记忆传感器的封装结构,并对其进行了有限元模拟分析;对封装后的金属磁记忆传感器实物进…

【Python基础入门系列】第09天:Python tuple

Python 中的数据结构是通过某种方式组织在一起的数据元素的集合&#xff0c;这些数据元素可以是数字、字符、甚至可以是其他数据结构 在 Python 中&#xff0c;最基本的数据结构是序列&#xff08;在前面文章我们也说过序列&#xff09;&#xff0c;序列中的每个元素都有一个序…

黑客攻防:关于工业网络安全的那些事

1、概述 随着工业信息化的快速发展以及工业4.0时代的到来&#xff0c;工业化与信息化的融合趋势越来越明显&#xff0c;工业控制系统也在利用最新的计算机网络技术来提高系统间的集成、互联以及信息化管理水平。未来为了提高生产效率和效益&#xff0c;工控网络会越来越开放&am…

elementui table某一列是否显示_Vue项目引进ElementUI组件的方法

环境要求NodejsNodejs官网下载地址&#xff1a;http://nodejs.cn/download/具体安装参考其他资料打开cmd命令行&#xff0c;输入npm -v&#xff0c;如果出现如下图的显示&#xff0c;说明已经安装正确。如果安装版本比较老&#xff0c;想升级新版本npm install npm -g安装 webp…

Entry

Entry&#xff08;单行输入框&#xff09;用于获取用户输入的文本。 Entry组件仅允许输入一行文本&#xff0c;如果输入过长&#xff0c;那么内容将被滚动&#xff0c;意味着字符串不能被全部看到。 1 from tkinter import *2 3 master Tk()4 5 e Entry(master)6 e.pack(padx…

集成电路版图与工艺课程设计之用CMOS实现Y=AB+C电路与版图

1 绪论 1.1 设计背景 集成电路设计&#xff08;Integrated circuit design, IC design&#xff09;&#xff0c;亦可称之为超大规模集成电路设计&#xff08;VLSI design&#xff09;&#xff0c;是指以集成电路、超大规模集成电路为目标的设计流程。集成电路设计涉及对电子器…

关于H264通过RTP传输的打包方式

Q:现在小弟初次尝试H264的编码通过RTP方式传输&#xff0c;具体实验环境的问题如下&#xff1a;环境&#xff1a;服务器端&#xff0c;H264的帧数据&#xff08;可能超过64k&#xff09;&#xff0c;分成N个1460字节的包&#xff0c;然后加上RTP头发送。客户端&#xff0c;VLC播…

AngualrJS之服务器端通信

译自《AngularJS》 与服务器通信 目前&#xff0c;我们已经接触过下面要谈的主题的主要内容&#xff0c;这些内容包括你的Angular应用如何规划设计、不同的angularjs部件如何装配在一起并正常工作以及AngularJS中的模板代码运行机制的一小部分内容。把它们结合在一起&#xff0…

硬盘显示容量和实际容量不符合_买移动固态硬盘纠结大半天?花2分钟看完这篇,购买时不再被坑...

如今移动硬盘已成为很多办公用户标配的物品&#xff0c;纵观整个移动硬盘市场&#xff0c;主要有移动机械硬盘和移动固态硬盘两种类型&#xff0c;前者容量大&#xff0c;价格较亲民&#xff1b;而后者具备了轻薄、读写速度快、耐振动不怕摔等优点。不少追求高效率的用户&#…

【Python基础入门系列】第10天:Python 类与对象

首先&#xff0c;我已经假定你是个萌新或已经看了无数遍的垃圾文章&#xff0c;然后依然搞不懂类和对象&#xff0c;但是呢起码知道有类和对象这么两个玩意儿&#xff0c;我觉得有必要找一篇生动形象的示例来讲解。 由于你可能没有编程经验&#xff0c; 所以无法从学过的编程…

数字电子技术课程设计之基于触发器的三位二进制同步减法计数器无效态000/110

基于触发器的三位二进制同步减法计数器无效态000/110 1 课程设计的目的与作用 掌握用multisim 的电路仿真程序 熟悉同步计数器工作原理和逻辑功能 熟悉计数器电路的分析和设计方法 掌握161 芯片集联成任意进制同步加法计数器 2 设计任务 三位二进制减法计数器&#xff08;无…

SUSE11 搭建iscsi target 配置

https://www.suse.com/documentation/sles11/stor_admin/data/sec_inst_system_iscsi_target.html#sec_inst_system_iscsi_target_manual https://www.novell.com/support/kb/doc.php?id7001308 http://scst.sourceforge.net/comparison.html转载于:https://www.cnblogs.com/b…

图像、帧、片、NALU(firstime)

图像、帧、片、NALU 是学习 H.264 的人常常感到困惑的一些概念&#xff0c;我在这里对自己的理解做一些阐述&#xff0c;欢迎大家讨论&#xff1a;H.264 是一次概念的革新&#xff0c;它打破常规&#xff0c;完全没有 I 帧、P帧、B 帧的概念&#xff0c;也没有 IDR 帧的概念。对…

【Python的黑魔法】实例方法、静态方法和类方法

class Bird:# classmethod修饰的方法是类方法classmethoddef fly (cls):print(类方法fly: ,cls)# staticmethod修饰的方法是静态方法# staticmethoddef info (p):print(静态方法info: , p)if __name__ __main__:# 调用类方法&#xff0c;Bird类会自动绑定到第一个参数Bird.fl…

基于dreamweaver软件设计和开发一网站_基于 abp vNext 和 .NET Core 开发博客项目 Blazor 实战系列(一)...

系列文章使用 abp cli 搭建项目给项目瘦身&#xff0c;让它跑起来完善与美化&#xff0c;Swagger登场数据访问和代码优先自定义仓储之增删改查统一规范API&#xff0c;包装返回模型再说Swagger&#xff0c;分组、描述、小绿锁接入GitHub&#xff0c;用JWT保护你的API异常处理和…

CSS边框,背景,边距,溢出

CSS边框,背景,边距,溢出 css边框属性 border:宽度 样式 颜色; border-color; border-style; 边框样式&#xff1a;solid实现&#xff0c;dotted点状线&#xff0c;dashed虚线CSS3的样式 border-radius&#xff1a;圆角处理 box-shadow: x轴偏移 y轴偏移 模糊度 扩散成都 颜色…

LINUX 内存使用情况

# free 显示结果如下&#xff1a; Mem&#xff1a;表示物理内存统计 total 内存总数 8057964KBused 已使用的内存 7852484KBfree 空闲的内存数 205480KBshared 当前已经废弃不用&#xff0c;总是0buffers Buffer 缓存内存数: 290432KBcached Page 缓存内存数:5735024KB(存在关…

vagrant系列教程(四):vagrant搭建redis与redis的监控程序redis-stat(转)

阅读目录 下载redis解压redis编译安装redis配置redisredis开机自启动系统参数的调整上一篇php7环境的搭建 真是火爆&#xff0c;仅仅两天时间&#xff0c;就破了我之前swagger系列的一片文章&#xff0c;看来&#xff0c;大家对搭建环境真是情有独钟。 为了访问量&#xff0c;我…

sps及pps在解码器内传递过程

首先解码器中有一个全局变量seq_parameter_set_rbsp_t SeqParSet[MAXSPS];// MAXSPS32&#xff0c;它是一个指向序列参数集的数组。还有一个全局变量seq_parameter_set_rbsp_t *active_sps;主要为后续解码所用。解码器先将码流中的数据读入临时指针sps&#xff0c;之后存入全局…

【技术分享】Ubuntu下使用微信教程

做后端开发的同学用的Linux&#xff08;ubuntu&#xff09;,肯定会因为没有适配微信版本会感觉不太舒服&#xff0c;很多时候因为缺少一些办公通讯软件而感到不便。现在已经有很方便的Wine WeChat方案&#xff0c;但是微信在Wine上配置还有许多bug&#xff0c;今天在github上看…