文章目录

1、列表的基本知识

2、创建列表

3、列表长度

4、访问列表

5、列表排序

6、python集合(数组)

列表的基本知识

列表的理解

列表(list)是python中内置的一种数据类型,list是一种有序的集合(不能完全理解为集合),可以随时添加和删除其中的元素,形式就是和下图一样

x = ['晴天','阴天','雨天']

列表的认识

上面我说列表不能完全理解为集合的原因,我们看下图就知道了

x = ['晴天', '阴天', '雨天','晴天']
y = [1,1,2,3]
print(x)
print(y)
print(type(x))
print(type(y))

执行结果

这就很明显的看出列表之所以不能理解成集合,是因为它不满足集合的互异性(高一数学的知识),但也说明了列表可以包含具有相同值的项目

列表项

列表项可以是任意的数据类型

x = [1,2,3,4]
y = ['晴天','雨天','阴天']
z = [True,False]
print(type(x))
print(type(y))
print(type(z))

执行结果

这里的第一个x的数据类型就是整形,第二个y的数据类型就是字符型,第三个z的数据类型就是布尔型

创建列表

接下来,我们就来创建一个列表

一、直接创建列表

x = ['晴天','阴天','雨天']
print(type(x))

执行结果

这里请记住列表是使用方括号([])创建的(记住都是英文输入法)

二、构造函数创建列表

创建列表时,我们还可以使用list()构造函数

x = list('晴天')
y = list(('晴天','阴天','雨天'))
print(type(x))
print(type(y))

执行结果

这里y中第二个括号里面的是一个元组,我们用list()函数将其的数据类型转换为列表

列表长度

当我们想要确定列表有多少项时,列表中的项少的时候,我们可以一个一个的数出来,但是,当列表中的项多的时候,这种方法就显得很慢了,这时,我们就可以使用len()函数来获取列表中的项数(之前就讲了len()函数可以获取字符串的长度)

x = ['晴天', '阴天', '雨天','晴天']
y = [3,4,2,3,4,5,5,6,7,9,5,10,45,46]
print(len(x))
print(len(y))

执行结果

这里还是再提一下,列表可以包含含有相同值的项目(不要完全理解成集合)

访问列表

导出列表值

列表中的每一项是有序的、可变的、允许重复值的。列表被索引时,第一项索引为[0],第二项索引为[1],以此类推下去

一、正常索引

1、单个索引

x = ['晴天', '阴天', '雨天','晴天']
y = [1,1,5,6]
print(x)
print(y)
print(x[0])
print(x[1])
print(y[2])
print(y[3])

执行结果

列表索引的格式是列表赋给的变量[索引项的位置]

2、整个索引

x = ['晴天', '阴天', '雨天','晴天']
for i in x:print(i)

执行结果

这里的第二句语句就是把在列表中的i都打印出来

我们通过运用for循环就可以达到我们的目的,将整个列表都索引出来

二、负索引

负索引意味着从右往左来索引,-1是最后一项(不是0),-2是倒数第二项,以此类推

x = ['晴天','雨天','阴天']
print(x[-1])
print((x[-2]))

执行结果

三、索引范围

x = ['晴天','雨天','阴天']
print(x[0:1])
print(x[0:])
print(x[:])
print(x[-2:-1])
print(x[-1:])

执行结果

这里的索引范围和字符串中讲过的知识差不多,同样满足包左不包右的原则并且冒号左边要小于右边

更改列表

当我想要更改列表中的某个值时,我们应该如何操作呢?

1、单个更改

当我们想要更改特定位置的值时,我们需要通过索引号

x = ['晴天','雨天','阴天',1]
x[0] = '下雪天'
x[2] = '晴天'
x[-1] = '雷雨天'
print(x)

执行结果

通过索引号,我们就将想要替换的值给替换了

2、多个更改

当我们想要同时更改列表中的多个值时,这时的索引号要用范围来表示

x = ['晴天','雨天','阴天',1]
x[:2] = ['下雪天','雷雨天']
x[-2:] = ['晴天','雨天']
print(x)

执行结果

运用切片的知识,我们很容易就可以理解

复制列表

当我们想要复制一个列表时,我们可以采用copy()函数制作列表的副本

x1 = ['晴天','雨天','阴天']
x2 = x1.copy()
print(x2)

执行结果

插入列表

当我们想要在列表中插入一个项目时,我们可以采用insert()函数

x = ['晴天','雨天','阴天']
x.insert(1,'雷雨天')
x.insert(-1,'下雪天')
print(x)

执行结果

这里我们可以看出使用函数的格式就是变量.insert(插入后的位置,插入的项目),使用insert()函数就相当于添加一个新的空间,

添加列表

一、末尾添加

上面我们并不能将某个项目添加到列表的末尾,那么要将某个项目添加到末尾,我们可以使用函数append()

x = ['晴天','雨天','阴天']
x.append('雷雨天')
print(x)

执行结果

注意:这里只能添加一个项目

二、指定位置插入

我们可以采用上面讲到的insert()函数来在指定位置插入某个项目

x = ['晴天','雨天','阴天']
x.insert(1,'雷雨天')
x.insert(-1,'下雪天')
print(x)

执行结果

注意:这里也只能添加一个项目

三、合并列表

当我们想要将两个列表合并在一起的时候,最简单的方法之一就是使用+运算符

x1 = ['晴天','雨天','阴天']
x2 = ['雷雨天','下雪天']
x3 = x1 +x2
print(x3)

执行结果

当然,我们还可以使用函数extend()

x1 = ['晴天','雨天','阴天']
x2 = ['下雪天','雷雨天']
x1.extend(x2)
print(x1)
print(x2)

执行结果

这里很明显的看出x1.extend(x2)就是把x2合并到x1中,函数extend()的使用格式变量1.extend(变量2)

我们使用extend()函数时,添加的对象不一定是列表,还可以添加任何可迭代对象(元组,集合,字典等等)

x1 = ['晴天','雨天','阴天']
x2 = ('下雪天','雷雨天')
x3 = {'name':'john','age':'18'}
print(type(x1))
print(type(x2))
print(type(x3))
x1.extend(x2)
x1.extend(x3)
print(x1)

执行结果

这样我们就很明显的看出元组和字典类型的对象都添加进了列表

四、删除列表

1、删除指定目标

当我们想要删除列表中的指定项目时,我们可以采用remove()函数

x = ['晴天','雨天','阴天']
x.remove('雨天')
print(x)

执行结果

注意:这里只可以删除一个项目

2、删除指定的索引

我们可以采用pop()函数来删除指定的索引

x = ['晴天','雨天','阴天']
x.pop(2)
x.pop()
print(x)

执行结果

这里的索引顺序第一个是0,第二个是1,以此类推

如果pop()中间不加任何东西的话,就是默认删除最后一项

除了pop()函数之外,我们也可以用del函数来删除指定的索引或是删除这个列表

x = ['晴天','雨天','阴天']
del x[1]
print(x)

执行结果

x = ['晴天','雨天','阴天']
del x
print(x)

执行结果

这里就说明列表已经不存在了

del函数无法删除最后一项

五、清空列表

当我们想要将列表里面的内容都清空而不删除列表时,我们可以采用clear()函数

x = ['晴天','雨天','阴天']
x.clear()
print(x)

执行结果

六、遍历列表

1、for循环遍历列表

x = ['晴天','雨天','阴天']
for i in x:print(i)

执行结果

这里的i可以自定义,随便一个字母都行

2、while循环遍历列表

x = ['晴天','雨天','阴天']
i = 0
while i<len(x):print(x[i])i=i+1

执行结果

这里i是一个变量,i如果小于列表的长度就打印i之后i加一

列表排序

区分大小写排序

1、字母类型

当我们有一个列表,我们想要根据大小写将列表中的内容排序,我们就可以采用sort()函数

x = ['hello','Herry','apple','Banana']
x.sort()
print(x)

执行结果

这里很明显的看出,sort()函数是按照第一个字母排序,所有的大写字母都排在了小写字母之前

2、数字类型

x = [1,5,6,3,2]
x.sort()
print(x)

执行结果

这样字母就按从小到大的顺序排好了

不区分大小写排序

当我们想要一个不区分大小写排序的列表时,我们可以采用str.lower()作为键函数

x = ['hello','Barry','apple']
x.sort(key = str.lower)
print(x)

执行结果

倒序

当我们想要列表中的元素由顺序变为倒序时,我们可以采用reverse()函数

x = ['晴天','雨天','阴天']
x.reverse()
print(x)

执行结果

这里我们采用reverse()函数,元素的顺序就由顺序变为了倒序

python集合(数组)

1、list列表是一个有序且可变的集合,允许重复的项目。

2、turple元组是一个有序且不可更改的集合,允许重复的项目。

3、set集合是一个无序且无索引的集合,没有重复的项目。

4、dict字典是一个有序(从python3.7开始,dict字典才是有序的)且可变的集合,没有重复的项目。

综上:我介绍了列表的相关知识和操作,提到很多的函数,希望大家看完可以自己亲自去敲一敲代码并且还要多多运用。

以上就是python基础训练—列表的全部内容

python基础训练—列表相关推荐

  1. python基础训练—元组

    文章目录 1.元组的基本知识 2.元组的长度 3.访问元组 4.解包元组 5.星号的使用 元组的基本知识 元组的理解 元组用于在单个变量中存储多个项目,元组(Tuple)是python中用于存储数据集 ...

  2. python基础训练—集合

    文章目录 1.集合的基本知识 2.访问集合 3.集合连接 集合的基本知识 集合的理解 集合(set)是一个无序的不重复的元素序列,集合(set)也是python中内置的一种数据类型,形式见下图 x = ...

  3. python基础训练 day1

    python基础训练 day1 py萌新,今天开始坚持打卡! 第一题 # 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 首先的想法是穷举法,把所有的可能性列举出来, ...

  4. python基础训练 day2

    python基础训练 day2 题目来源 小白打卡第二天,冲冲冲! 第一题 # 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 不知道这个数多大,设这 ...

  5. python基础训练 day4

    python基础训练 day4 小白打卡第四天! 题目来源 目录 python基础训练 day4 第一题 第二题 第三题 time模块回顾 第一题 将一个列表的数据复制到另一个列表中. 好模糊的一个题 ...

  6. python基础训练—字典

    文章目录 1.字典的基本知识 2.创建字典 3.字典长度 4.访问字典 5.检查字典中是否存在指定的键 6.嵌套字典 7.python中的四种集合数据类型 字典的基本知识 字典的理解 字典(dicti ...

  7. python 把列表或者元组转成集合

    python 把列表或者元组转成集合 使用set 方法 list_a = ["张三", "李四", "王二"] # 把列表转成集合 prin ...

  8. Python 把列表转成元组

    Python 把列表转成元组 使用tuple 即可 例如 list_a = [1, 2, 3, 4, 5, 6] list_b = tuple(list_a) print(list_b) 打印结果: ...

  9. Python List 列表list()方法

    Python基础数据类型之一列表list,在python中作用很强在,列表List可以包含不同类型的数据对像,同时它是一个有序的集合.所有序列能用到的标准操作方法,列表也都可以使用,比如切片.索引等, ...

最新文章

  1. 5000 字的 Spring MVC 全面大总结
  2. 邵阳计算机专业哪家最好,邵阳学院专业排名 最好的专业有哪些
  3. React Native 环境搭建步骤
  4. 虚拟机当作设置服务器,虚拟机当作设置服务器
  5. No JVM could be found on your system解决方法
  6. maf中anglearc_Oracle MAF中的LOV
  7. 详解NLP和时序预测的相似性【附赠AAAI21最佳论文INFORMER的详细解析】
  8. python刷今日头条阅读量_教你如何提高今日头条号推荐量阅读量播放量
  9. vivado global和out-of-context 选项
  10. mysql查询季度数据统计_mysql按年度、季度、月度、周、日SQL统计查询代码
  11. JS 幻灯片代码(含自动播放)
  12. TransCAD的选择集应用简介
  13. noi linux 默认密码,安装NOI Linux
  14. 戴顿大学计算机科学,(出国) 2015年 清北 上海交大浙大复旦中科南大 世界TOP30高校 官方数据...
  15. 【3D目标检测】双目3D视觉原理
  16. 感知机算法在鸢尾花数据集上的实践
  17. python自学笔记15之实例之绘图、dataframe操作、读写csv,excle
  18. Allein rennen spielen singen beißen.Espoir parfaitement arbre.
  19. linux学习笔记-rsync原理及使用
  20. 【修改蓝牙设备名称】一步简单操作

热门文章

  1. c语言校车管理系统,交运智慧驾培管理系统
  2. python爬虫,从hao123爬取网址信息
  3. 简谐振动的能量与合成(大学物理笔记)
  4. 显示隐藏图片html,JavaScript实现显示和隐藏图片
  5. 洪灾面前,能抗衡的很少,但能做的很少
  6. java抽象类的继承_Java,如何从抽象类继承方法
  7. python爬虫京东口红销售排行
  8. linux 常用文本处理工具
  9. MSDC 4.3 接口规范(19)
  10. 【BlueZ】【蓝牙】跨平台实现Ble MasterSlaveMesh 之Linux篇-1