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相关推荐

  1. 【Python基础入门系列】第01天:环境搭建

    其实 Python 已经是一个很老的编程语言了,到现在(2019年) Python 已经高龄 28 岁,比很多程序员的年龄都大.现在之所以这么流行和社区.人工智能的发展,有很大的关系. 千里之行始于足 ...

  2. 【Python基础入门系列】第03天:Python 变量与数据类型

    这篇文章我们学习 Python 变量与数据类型 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可 ...

  3. Python基础入门篇【2】--python脚本结构

    目录 文章目录 python脚本简单介绍 编写一个简单的python脚本 新建一个python脚本 python脚本的结构 python脚本的执行 python脚本的头部注释 什么是头注释? 头注释的 ...

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

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

  5. 【Python基础入门系列】第07天:Python 数据结构--序列

    python内置序列类型最常见的是列表,元组和字符串.(序列是python中最基础的数据结构,而数据结构是计算机存储,组织数据的方式.) 另外还提供了字典和集合的数据结构,但他们属于无顺序的数据集合体 ...

  6. 【Python基础入门系列】第05天:Python函数

    前面我们写过九九乘法表,但如果我要七七乘法表或五五乘法表的话,你会看到三者代码极其类似,只是循环变量不同,那么如何做到代码重用,而不是简单拷贝黏贴修改呢,其实可是使用函数完成这一功能! 先来试着看一看 ...

  7. 【Python基础入门系列】第04天:Python 流程控制

    在编程的世界中,流程控制是程序员运行的基础,流程控制决定了程序按照什么样的方式去执行,本节给大家介绍 Python 流程控制相关语法. if 语句 if 语句表示如何发生什么样的条件,执行什么样的逻辑 ...

  8. 【Python基础入门系列】第02天:Python 基础语法

    Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异.在本章中我们将来学习 Python 的基础语法,让你快速学会Python 编程. 开始你的第一个 Pyth ...

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

    Python 中的数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字.字符.甚至可以是其他数据结构 在 Python 中,最基本的数据结构是序列(在前面文章我们也说过序列),序列 ...

最新文章

  1. python好吗-自学python好吗?跟培训比那个好?
  2. Class类文件的结构
  3. normalize函数_Pandas 数据处理(一) —— 几个简单函数掌握!
  4. 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab
  5. 信息学奥赛C++语言:判断正负
  6. css 点击效果_使用CSS实现逼真的水波纹点击效果
  7. python网络编程案例_python网络编程实例简析
  8. python处理二进制文件_python如何对文件进行二进制写操作
  9. 安装双系统后无法进入第二系统
  10. 二次规划 Quadratic programming
  11. jsp java语法_JSP 语法 | 菜鸟教程
  12. 济南出台5G专项规划,十年布局5G基站18万处
  13. 亚马逊账号关联的后果是什么
  14. 精准准确的统一社会信用代码正则(js)
  15. 工程训练(第一章 关于劳动 )-江苏海洋大学-mooc 答案
  16. iOS - 递归遍历文件夹下的所有文件
  17. 宽带无法远程连接到计算机,登录校园宽带是显示不能建立远程计算机连接,在别的电脑可以登录 是为什么?...
  18. 计算机网络第七版(谢希仁)第二章——物理层课后习题答案
  19. 完整的项目管理流程包括什么?
  20. 【PHP】`异客塞尔`世界 与 神奇的字符串++

热门文章

  1. x264函数调用关系图
  2. 解决 : Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
  3. 时间,数字 ,字符串之间的转换
  4. Scala学习之爬豆瓣电影
  5. POJ 2106-Boolean Expressions,双栈运用类似表达式求值!
  6. 自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
  7. javascript笔记整理(对象基础)
  8. Android 调整屏幕分辩率
  9. 兼容IE与firefox的css 线性渐变(linear-gradient)
  10. SpringBoot2使用WebFlux函数式编程