python练习生|列表的这些基本用法你都会吗?

一.序列

1).什么是序列

  • 概念: 序列是Python中一种数据存储方式,是一种与存储相关的数据结构。
  • 作用: 序列⽤于保存⼀组数据,所有的数据在序列当中都有⼀个“专有地址”,通过索引这个专有地址来将数据进行呈现。
  • 特点: 序列是有序性的,序列中的每一个元素都有相应的索引值。

2).序列的分类

  • 分类: 我们按照序列中元素中的可变性可将序列分为:可变序列与不可变序列。
  • 可变序列: 如 列表(list)、字典(dict)
  • 不可变序列: 如 字符串(str)、元组(tuple)

在初步了解了什么是序列后,我将针对序列中的列表(list)进行一个深入讲解

二.列表

1).初识列表

1.列表的概念

  • 列表是Python中的⼀个对象,它是最常用的Python数据展现方式。

2.列表的作用

列表的作⽤
列表中可以保存多个有序的数据
列表是⽤来存储对象的对象

2).列表的应用

1.创建列表

  • 列表的创建:通过 [] 来创建⼀个空列表

列表

  • 列表可以保持任意的对象
    例如:
lst = ['我','+','们',['都爱'],'python']
print(lst)

对象

  • 从图我们可以看出输出的列表跟输入的格式保持一致,无论是字符串,列表,列表都能够“包含”,足以见得列表的强大。

2.索引(index)

  • 我们可以对列表进行索引来获取任意的元素
  • 索引默认从0开始
    之前在讲数据类型这篇文章中有提及索引的相关内容:
    3)字符串的使用
lst = ['一号','二号','三号',4,5]
print(lst)
print(lst[2])

索引
我么可以看出,lst[2] 中的2相当于是列表lst的索引值

  • 那么又有新的问题产生了,索引值可以任意填写吗?
    下面我们看个例子:

超出

lst = ['一号','二号','三号',4,5]
print(lst)
print(lst[2])
print(len(lst))

索引
通过使用len()函数来获取列表长度
如果你忘了,那么不要怕(5).字符串的其他操作,这个表介绍了一些基本的字符串操作方法。

  • 负向索引:
lst = ['一号'+'二号','三号',4,5]
print(lst)
print(lst[-1])

负向索引

  • 为了更直观,我们将列表 lst = [‘一号’,‘二号’,‘三号’,4,5] 做成图片,供大家深入理解。
    索引

3.切片

(1).切片的概念

  • 通过切⽚来获取指定的元素(通俗来讲,切片就是把刀,被切的列表相当于火腿肠,我们通过到对火腿肠进行规范化分割,获取其中的一段,或者多个片段,这一个或多个片段就相当于从现有列表中获得⼀个⼦列表

(2).切片的语法

  • 语法: 列表[起始 : 结束 : 步⻓]

(3).切片的应用

  • 通过切⽚获取元素时,会包含起始位置的元素(索引值是起始位)=,不会包括结束位置的元素
    例如
lst = ['一号','二号','三号',4,5]
print(lst)
print(lst[0:2])

切片

  • 起始位置和结束位置的索引都不写,则会从第⼀个元素开始截取到最后⼀个元素。
lst = ['一号','二号','三号',4,5]
print(lst)
print(lst[:])

都不写

  • 如果省略结束位置, 则会从当前的开始位置⼀直截取到最后;如果省略开始位置, 则会从第⼀个元素截取到结束的元素,但是不包括结束的元素
lst = ['一号','二号','三号',4,5]
print(lst)
print(lst[1:]) #省略结尾
print(lst[:3]) #省略开头

省略

  • 步⻓表示每次获取元素的间隔,默认是1(可以省略不写)
lst = ['一号','二号','三号','意大利炮',4,5,'六号',7,8,9,'团长']
print(lst)
print(lst[0:3:1])
print(lst[0:3])

步长省略

lst = ['一号','二号','三号','意大利炮',4,5,'六号',7,8,9,'团长']
print(lst)
print(lst[0:6:2])
print(lst[1::2])

步长

  • 步⻓不能是0,但可以是是负数
lst = ['一号','二号','三号','意大利炮',4,5,'六号',7,8,9,'团长']
print(lst)
print(lst[0:6:2])
print(lst[::-2])
print(lst[::0])

举例

4.列表的通用操作

  • 前面已经说过了列表的索引和切片操作,下面在进行其他操作的扩充。(其实你在认知的时候当成序列的通用操作也不为过)
  • 加(+) 和乘()
    加(+)可以将两个列表拼接成⼀个列表
    乘(
    )可以将列表重复指定的次数
lst1 = ['一号','二号','三号','意大利炮']
lst2 = [4,5,'六号',7,8,9,'团长']
lst = lst1+lst2
print(lst)
lst3 = lst2*2
print(lst3)

加和乘
注意2个列表不能够做乘法,要和整数做乘法运算

lst1 = ['一号','二号','三号','意大利炮']
lst2 = [4,5,'六号',7,8,9,'团长']
lst = lst1+lst2
print(lst)
lst3 = lst2*lst1
print(lst3)

错误

  • in 和 not in
    in⽤来检查指定元素是否在列表当中
    not in ⽤来检查指定元素是否不在列表当中
lst = ['一号','二号','三号','意大利炮',4,5]
print('一号' in lst)
print('十号' not in lst)

in 和 not in

  • len() 获取列表中元素的个数
  • max() 获取列表中最⼤值
  • min() 获取列表中最⼩值
  • list.index(x[, start[, end]])
    第⼀个参数 获取指定元素在列表中的位置
    第⼆个参数 表示查找的起始位置
    第三个参数 表示查找的结束位置
    参数索引
  • 当列表中有多个重复字符串或数值时,
    如果没有限定条件,则返回第一次出现该字符串的索引位置;
    如果有限定条件,则返回限定条件内第一次出现该元素的索引位置

list.count(x) 统计指定元素在列表中出现的个数
举个栗子:

lst = ['一号','二号','三号','意大利炮','团长','二号','三号']
print(lst.count('意大利炮'))
print(lst.count('二号'))

栗子
官网注释
zhong中文
详情请移步:python官网:序列-列表的通用操作


ps:我承认我偷懒了,后面补一个表出来


5.列表的修改

(1).添加元素

  • lst.insert()
    lst.insert(i,x) :在索引i处将x插入lst列表中
    lst[i:i] = [x] 与insert(i,x)作用相同
lst = ['一号','二号','三号','意大利炮','团长']
lst.insert(3,'秀琴')
print(lst)
lst[0:0] = ['秀琴']
print(lst)

添加

  • append():向列表的末尾添加⼀个元素
  • extend():使⽤⼀个新的序列来扩展当前序列(它会将该序列的中元素添加到列表中) 参数需要传递⼀个序列,可以一次添加多个元素,不过也只能添加在列表的最后
lst = ['一号','二号','三号','意大利炮','团长']
lst.append('秀琴')
print(lst)
lst.extend(['开炮'])
print(lst)

加入

(2).删除元素

  • lst.remove():移除lst列表中的元素
    lst.remove(x):移除lst列表中的元素x
  • del():删除列表中的元素
    del(lst[x]) 删除列表lst里面的索引号位置为x的元素,这里需要注意的是del是一种操作语句,删除的元素无法返回
  • lst.pop():根据索引删除并返回指定元素
    lst,pop()默认删除最后一位
    lst.pop(x)删除索引数x所对应的元素
lst = ['一号','二号','三号','意大利炮','团长']
lst.remove('一号')
print(lst)

del lst[3]
print(lst)

lst.pop(2)
print(lst)

删除

  • 值得一提的是使用pop()方法删除元素,删除的元素具有返回值
lst = ['一号','二号','三号','意大利炮','团长']
result = lst.pop()
print(result)
print(lst)

元素

(3).替换元素

lst[x]=‘abc’
通过索引进行元素的替换
lst[M:N]=‘abc’
通过切片M为起始索引,N为终止索引。进行元素的替换

lst = ['一号','二号','三号','意大利炮','团长']
lst[1] = '顺溜'
print(lst)

lst[0:3]='拉'
print(lst)

替换

引用官网截图

详情转至:python官网Sequence Types — list, tuple, range链接
截图

引用结束

3).列表的遍历

1.for循环

  • 通过for循环来遍历列表
    是不是似曾相识?我在上一篇讲过for循环的一些基本用法for循环语句
  • 语法规则还是要再说一下
for 变量 in 遍历条件:
	代码块
  • 对于列表,for循环的代码块会执⾏多次。每执⾏⼀次就会将列表中的⼀个元素赋值给变量,所以我们可以通过变量来获取列表中的元素,从而实现列表的遍历

举个栗子:

lst =['二营长','的','意大利炮','给我','拉过来']
i = 0
while i < len(lst):
    print(lst[i])
    i += 1

lst =['二营长','的','意大利炮','给我','拉过来']
for j in lst:
    print(j)

栗子

  • 有人问我,为什么把while也贴上去了,嘿嘿,为了突出for循环遍历列表更方便些呀。

2.range()函数

(1).关于range()函数

  • range函数是一个用来创建数的序列的一种通用函数
  • range函数大多数用于for循环中

range函数的语法:range(start, stop[, step])

  • 开始(start): ,默认是0,可省略
    range(0,4)与range(4)表达的是同一个东西
  • 结束(stop): 不包含结束
    举个栗子:
for i in range(4):
    print(i)

栗子

  • 步长(step): 步长值默认是1
    range(4)、range(0,4)、range(0,4,1)这三个表达的是同一个东西

(2).range()函数的应用

举个栗子:

lst =[1,'二营长',2,'的',3,'意大利炮',4,'给我',5,'拉过来']
for j in range(1,10,2):
    print(lst[j])

意大利炮

猜你喜欢

转载自blog.csdn.net/weixin_45095678/article/details/106520073