引言

列表 list 是由一系列按照特定顺序排列的元素组成的,它是一种有序的数据集合。
你可以添加任何类型的元素到列表中,其中的元素之间可以没有任何关系。

列表简介

Python 使用方括号 [] 来定义列表,列表中的每个值称为元素。
每个元素之间用逗号 , 分割开,每个元素都有自己唯一的索引值。
索引值分上标索引和下标索引,下标索引从 0 开始,上标索引从 -1 开始。
你可以理解为:下标索引 = 正序索引,上标索引 = 倒序索引

创建列表

一般将创建的列表赋给一个变量,因此给变量取个有意义的名字是个不错的注意
打印列表时,会将方括号 [] 也打印出来

如果你想定义一个空列表可以直接使用方括号 [] 而不在里面传值
定义一个人员列表,如下示例。

persons = ['张三','李四','王五','赵六','钱七','孙八']
print(persons)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八']

列表取值

列表有两种取值方式

  1. 按索引号取值
  2. 范围取值

按索引号取值

在列表变量后面加上方括号 [] 里面传入元素的索引号,如下示例

persons = ['张三','李四','王五','赵六','钱七','孙八']
print(persons[0])
# 运行结果:张三

范围取值

范围取值只需在方括号内传入两个参数,即 [开始索引:结束索引]
Python 遵循左闭右开原则,即包含左边的而不包含右边的,所以实际取到的最后一个值是 结束索引-1。

1. 列表范围取值

例如取值 1~3 位置的元素,实际只取值到 1~2 位置的元素,如下示例

persons = ['张三','李四','王五','赵六','钱七','孙八']
print(persons[0:3])
# 运行结果:['张三', '李四', '王五']
2. 范围取值指定步长

范围取值可以指定步长,只需传入3个参数,即 [开始索引:结束索引:指定步长]
如果你想范围取值的时候隔一个或N个元素取值,指定步长是个不错的注意。

# 隔一个元素取值
persons = ['张三','李四','王五','赵六','钱七','孙八']
print(persons[0:5:2])
# 运行结果:['张三', '王五', '钱七']

取值索引越界问题

注意: 列表取值时索引不能越界,如果取值索引超出列表的索引范围,会报一个 IndexError 的错误

# 例如以下示例
persons = ['张三', '李四', '王五']
print(persons[3])
# 运行报出错误:IndexError: list index out of range
# 翻译过来就是“列表索引超出范围”,因为列表中索引位置 3 根本没有任何元素

新增

列表的新增操作

1. 在指定位置插入元素 insert()
# 插入元素
persons = ['张三','李四','王五','赵六','钱七','孙八']
persons.insert(6,'杨九')
print(persons)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九']
2. 方法在列表末尾追加元素 append()
# 在末尾追加元素
persons = ['张三','李四','王五','赵六','钱七','孙八']
persons.append('杨九')
print(persons)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九']
3. 在列表末尾追加多个元素 extend()

使用 extend() 方法在末尾同时追加多个元素

# 同时在末尾追加多个元素
persons = ['张三','李四','王五','赵六','钱七','孙八']
persons.extend(['杨九','吴十'])
print(persons)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']

删除

列表的删除操作

1. 按索引号弹出元素 pop()

pop() 有返回值,弹出的元素可以保存到一个新的变量中,以便下次使用,也可以不保存,不保存就是删除

以下示例中很好的体现了 pop() 弹出的元素能够保存到另一个变量中

persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = persons.pop(0)
print(persons)  # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
print(persons2)  # 运行结果:张三
2. 按元素名称移除元素 remove()

值得注意的是,如果列表中存在多个相同的元素,remove() 方法只会移除正序索引遇到的第一个元素,如果想移除全部可以使用遍历

persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons.remove('张三')
print(persons)  # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
3. 删除元素 del

del 是Python的语句,而不是列表 list 的方法,del是传入索引号删除的,但没有返回值

persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
del persons[0]
print(persons)  # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']

其他

列表的一些其他使用方法

1. len() 函数

使用 len() 函数看列表共有几个元素

persons = ['张三','李四','王五','赵六','钱七','孙八']
print( len(persons) )  # 运行结果:6
2. count() 函数

使用 count() 方法查看元素在列表中出现几次

# 获取元素 李四 在列表中出现几次
persons = ['张三','李四','王五','李四','赵六','钱七','孙八']
cnt = persons.count('李四')
print(cnt)  # 运行结果:2
3. 使用 index() 函数查看元素索引号

index() 方法只返回遇到的第一个符合条件的元素,如果有多个重复的元素名称需要使用遍历

如下示例,查看元素 ”李四“ 的索引号时只返回遇到的第一个元素

persons = ['张三','李四','王五','李四','赵六','钱七','孙八']
print( persons.index('李四') )
# 运行结果:1

遍历获取 “李四” 的索引号,如下示例

persons = ['张三','李四','王五','李四','赵六','钱七','孙八']
i = 0
for p in persons:if p == '李四':print(i,end='\t')i += 1
# 运行结果:1    3
4. 使用 copy() 方法复制列表

复制出来的列表是一份独立全新的数据,更改原列表内容不会影响复制的列表

# 复制列表
persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = persons.copy()
persons.remove('李四')
print(persons) # 运行结果:['张三', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
print(persons2) # 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
5. 分割列表 split()

将字符串数据按特定规则分割成列表

例如以下示例, persons 变量中存储的字符串,每个人员用逗号 , 分割开,使用 split() 方法可以让其分割成列表

persons = '张三,李四,王五,赵六,钱七,孙八,杨九,吴十'
persons_list = persons.split(',')
print(persons_list)
# 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
6. 成员运算符 in

判断数据是否存在列表中

# 使用成员运算符判断张三是否存在 `persons` 列表中
persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = '张三'
print(persons2 in persons)
# 运行结果:True
7. 身份运算符 is

判断两个变量是否使用同一内存地址,是否指向同一块内存空间

persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = persons.copy()
persons3 = persons
print(persons2 is persons)  # 运行结果:False
print(persons3 is persons)  # 运行结果:False
8. 清空列表内容 clear()

以下清空列表示例中很好的展示了 copy() 出来的数据是一块独立全新的数据,清空 persons 列表的内容对它丝毫不受影响

persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
persons2 = persons.copy()
persons3 = persons
persons.clear()
print(persons)
print(persons2)
print(persons3)
'''
运行结果:
[]
['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
[]
'''

数据之心

转载于:https://www.cnblogs.com/dazhi-blog/p/11436996.html

Python 基础 2-1 列表入门相关推荐

  1. 萌新向Python数据分析及数据挖掘 第一章 Python基础 第三节 列表简介 第四节 操作列表...

    第一章 Python基础 第三节 列表简介 列表是是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中的元素包括在方括号([])中,每个元素之间用逗号分割.列表是可变的数据类型, ...

  2. Python基础数据之列表知识(二)

    Python基础数据之列表知识(二) 一.列表的特点 二.列表的排序 三.列表的嵌套 1.嵌套的基本使用 2.嵌套的示例 四.列表的循环删除 五.列表相关知识链接 一.列表的特点 1.有序 2.独立 ...

  3. Python基础数据之列表

    Python基础数据之列表 一.列表介绍 1.简介 2.列表的特性 二.列表初识 三.for循环中使用 四.列表长度表示 五.向列表中添加内容 1.向列表中追加内容 2.向列表中插入内容 3.批量添加 ...

  4. Python基础学习之列表操作

    Python基础学习之列表操作 文章目录 Python基础学习之列表操作 1. 列表的增,删,改,查 1.1 列表的增加,常用的方法有:append, extent, incert 1.2 列表的删除 ...

  5. python基础数据类型之列表,元组(基础二)

    第四章 python基础数据类型之列表,元组(基础二) python常用数据类型之组合数据类型:列表,元组. 4.1 列表 list 列表介绍 列表是python的基础数据类型之⼀ ,其他编程语⾔言也 ...

  6. Python基础语法【列表】

    Python基础语法[列表] 一.认识列表 1.什么是列表(list) 1)列表是python提供的容器型数据类型:将[]作为容器的标志,里面多个元素用逗号隔开:[数据1,数据2,-] [数据1,数据 ...

  7. python基础教程书籍推荐-入门python有什么好的书籍推荐?

    Python编程语言有许多语法结构.标准库函数和交互式开发环境功能.好在,你可以忽略大多数内容.你只需要学习部分内容,就能编写一些方便的小程序. 但在动手之前,你必须学习一些基本编程概念.就像魔法师培 ...

  8. Python基础教程:列表(list)切片详细操作

    1.正向范围取值 关键点 首位下标是 0 第一个数字是起始下标,第二个数字是结束下标(但最终结果不包含它) 例一: # 正向范围取值 - 字符串 strs ="https://www.bai ...

  9. 【Python基础】使用列表、字典和集合生成式来缩短代码

    作者 | Philip Wilkinson 编译 | VK 来源 | Towards Datas Science 在使用Python将近一年的时间里,我经常遇到"生成式"这个词,但 ...

  10. python基础编程语法-编程入门02:Python基础语法

    现在让我们从基础概念开始逐步探索Python的语法,编程语言包含多种指令,其中最基本的是"表达式"(Expression),表达式有特定的"值"(Value), ...

最新文章

  1. android 最新usb驱动程序下载,安卓手机USB驱动官方下载、安装教程
  2. 理解ArcIMS投影元素
  3. 使用U盘安装CentOS6.5
  4. Android平台使用Camera2(5.0+)替代过时的Camera
  5. LeetCode(#26)————删除排序数组中的重复项
  6. Maven学习(三)————Maven核心概念(二)
  7. 谋求“同股不同权”,旷视赴港上市渐近
  8. 远程计算机怎么安装系统,w7系统可以远程安装吗_win7远程重装系统详细步骤
  9. WINDOWS上OpenCV需要有MediaPlayer才能正确运行?
  10. 手把手教大家如何优化长尾关键词
  11. RAR和RAR4和zip那个压缩率最高
  12. 二、Vue实例对象及其属性
  13. python智能算法,人工智能算法Python案例实战
  14. 夏普Sharp MX-B401 一体机驱动
  15. 基于JAVA糖果销售管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  16. final37另一种插值方法:在端点处插入相等的值
  17. CF #764 Div.3(B ~D)
  18. 【ACM- OJ】《九折?》C++
  19. 发生系统错误 1275.此驱动程序被阻止加载 解决方案
  20. python+opencv电表读数自动识别,电表电量自动读取

热门文章

  1. 一些文章资料地址记录
  2. 指令双人攻击战斗模板
  3. 记录微信小程序项目遇到的几个问题
  4. MAC浏览器刷新/强制刷新
  5. bim综合软件如何操作局部三维?
  6. comment on的意义
  7. 漏洞概述-0day漏洞利用原理(0)
  8. 016 A Principled Approach to Data Valuation for Federated Learning(评价 federated shapley value)
  9. “我月薪3千月入5万”:不是你不会赚钱,而是你赚钱的方式有问题
  10. switch...while和什么是函数