【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
【Python基础入门系列】第08天:Python List相关推荐
- 【Python基础入门系列】第01天:环境搭建
其实 Python 已经是一个很老的编程语言了,到现在(2019年) Python 已经高龄 28 岁,比很多程序员的年龄都大.现在之所以这么流行和社区.人工智能的发展,有很大的关系. 千里之行始于足 ...
- 【Python基础入门系列】第03天:Python 变量与数据类型
这篇文章我们学习 Python 变量与数据类型 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可 ...
- Python基础入门篇【2】--python脚本结构
目录 文章目录 python脚本简单介绍 编写一个简单的python脚本 新建一个python脚本 python脚本的结构 python脚本的执行 python脚本的头部注释 什么是头注释? 头注释的 ...
- 【Python基础入门系列】第10天:Python 类与对象
首先,我已经假定你是个萌新或已经看了无数遍的垃圾文章,然后依然搞不懂类和对象,但是呢起码知道有类和对象这么两个玩意儿,我觉得有必要找一篇生动形象的示例来讲解. 由于你可能没有编程经验, 所以无法从学过 ...
- 【Python基础入门系列】第07天:Python 数据结构--序列
python内置序列类型最常见的是列表,元组和字符串.(序列是python中最基础的数据结构,而数据结构是计算机存储,组织数据的方式.) 另外还提供了字典和集合的数据结构,但他们属于无顺序的数据集合体 ...
- 【Python基础入门系列】第05天:Python函数
前面我们写过九九乘法表,但如果我要七七乘法表或五五乘法表的话,你会看到三者代码极其类似,只是循环变量不同,那么如何做到代码重用,而不是简单拷贝黏贴修改呢,其实可是使用函数完成这一功能! 先来试着看一看 ...
- 【Python基础入门系列】第04天:Python 流程控制
在编程的世界中,流程控制是程序员运行的基础,流程控制决定了程序按照什么样的方式去执行,本节给大家介绍 Python 流程控制相关语法. if 语句 if 语句表示如何发生什么样的条件,执行什么样的逻辑 ...
- 【Python基础入门系列】第02天:Python 基础语法
Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异.在本章中我们将来学习 Python 的基础语法,让你快速学会Python 编程. 开始你的第一个 Pyth ...
- 【Python基础入门系列】第09天:Python tuple
Python 中的数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字.字符.甚至可以是其他数据结构 在 Python 中,最基本的数据结构是序列(在前面文章我们也说过序列),序列 ...
最新文章
- python好吗-自学python好吗?跟培训比那个好?
- Class类文件的结构
- normalize函数_Pandas 数据处理(一) —— 几个简单函数掌握!
- 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab
- 信息学奥赛C++语言:判断正负
- css 点击效果_使用CSS实现逼真的水波纹点击效果
- python网络编程案例_python网络编程实例简析
- python处理二进制文件_python如何对文件进行二进制写操作
- 安装双系统后无法进入第二系统
- 二次规划 Quadratic programming
- jsp java语法_JSP 语法 | 菜鸟教程
- 济南出台5G专项规划,十年布局5G基站18万处
- 亚马逊账号关联的后果是什么
- 精准准确的统一社会信用代码正则(js)
- 工程训练(第一章 关于劳动 )-江苏海洋大学-mooc 答案
- iOS - 递归遍历文件夹下的所有文件
- 宽带无法远程连接到计算机,登录校园宽带是显示不能建立远程计算机连接,在别的电脑可以登录 是为什么?...
- 计算机网络第七版(谢希仁)第二章——物理层课后习题答案
- 完整的项目管理流程包括什么?
- 【PHP】`异客塞尔`世界 与 神奇的字符串++
热门文章
- x264函数调用关系图
- 解决 : Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- 时间,数字 ,字符串之间的转换
- Scala学习之爬豆瓣电影
- POJ 2106-Boolean Expressions,双栈运用类似表达式求值!
- 自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
- javascript笔记整理(对象基础)
- Android 调整屏幕分辩率
- 兼容IE与firefox的css 线性渐变(linear-gradient)
- SpringBoot2使用WebFlux函数式编程