ython列表的使用方法(详细版)

1. 序列

基本概念:是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引,index)并且序列中的数据会按照添加的顺序来分配索引
数据结构数据结构是计算机存储、组织数据的方式。

序列的分类

可变序列(序列中的元素可以改变):例如 列表(list),字典(dict)…
不可变序列(序列中的元素不能改变):例如 字符串(str),元组(tuple)…

2. 列表

基本概念:是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合,在这种数据结构上进行的基本操作包括对元素的的查找,插入,和删除
作用
     •列表是python语言中的一个对象
     •列表可以保存多个有序数据
     •列表是用来存储对象的对象

2.1列表的使用

列表的创建

student=[]#创建一个新列表,表名为student

列表可以保存任意对象

list = [1 , 'python',None,True,max(1,2,3)]#可以保存整型变量,字符串,空值,布尔值,函数...

列表的索引(index):
       •通过索引(index)来获取列表中元素
       •索引就是元素在列表中的位置 ,每一个元素都有自己的索引,索引是从0开始,列表的第一个位置就是0,第二个位置是1, 以此类推。

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊']
print(name[0])#输出结果:喜羊羊
print(name[2])#输出结果:沸羊羊
print(name[4])#输出结果:懒羊羊

       •索引也可以是负数,如果索引为负是从后往前获取元素, -1表示最后一个元素 ,-2表示倒数第二个元素, 以此类推。

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊']
print(name[-1])#输出结果:懒羊羊
print(name[-3])#输出结果:沸羊羊
print(name[-5])#输出结果:喜羊羊

列表的切片
       •切片 是指从现有列表中,获取一个子列表。
       •通过切片可获取指定的元素。
       •语法表现: 列表[ 起始索引 : 结束索引 : 步长 ]
       •通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素 左闭右开
       •通过切片只会获取一个新的列表,不会影响原来的列表

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
print(name[0:3])#输出结果:['喜羊羊', '美羊羊', '沸羊羊']
print(name[2:4])#输出结果:['沸羊羊', '慢羊羊']
print(name)#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']

       •如果省略结束位置的索引,则从当前的位置会一直截取到最后
       •如果省略开始位置 则会从第一个元素截取到结束位置,但是不包括结束位置的元素
       •如果开始位置和结束位置都省略,则会从第一个位置截取到最后一个位置上面的元素 ,即获取全部元素

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
print(name[1:])#输出结果:['美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
print(name[:4])#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊']
print(name[:])#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']

       •步长可以省略,默认值为1
       •步长可以为负数,但是不能为0

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
print(name[0:5])#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊']
print(name[0:5:1])#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊']
print(name[0:5:3])#输出结果:['喜羊羊', '慢羊羊']
print(name[::2])#输出结果:['喜羊羊', '沸羊羊', '懒羊羊']
print(name[::-1])#输出结果:['暖羊羊', '懒羊羊', '慢羊羊', '沸羊羊', '美羊羊', '喜羊羊'] 反转序列
print(name[4:1:-1])#输出结果:['懒羊羊', '慢羊羊', '沸羊羊']

列表的修改
       •通过del关键字来删除元素

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
del name[3]#删除索引为3的元素
print(name)#输出结果为:['喜羊羊', '美羊羊', '沸羊羊', '懒羊羊', '暖羊羊']

       •通过切片来修改(就是给切片的内容重新赋值,但是赋值的内容必须是一个序列)

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name[0:3]=['红太狼','灰太狼','蕉太狼',]#在索引为0,1,2的位置依次添加列表中的新元素
print(name)#输出结果:['红太狼', '灰太狼', '蕉太狼', '慢羊羊', '懒羊羊', '暖羊羊']

       •通过切片来删除元素

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name[1:3]=[]#删除索引为1,2的元素(本质是将其赋值为空列表)
print(name)#输出结果:['喜羊羊', '慢羊羊', '懒羊羊', '暖羊羊']

       •当设置了步长的时候,序列中元素的个数必须和切片中元素的个数保持一致

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name[::2]=['红太狼','灰太狼','蕉太狼',]#从索引为0开始,步长为1,依次替换其中的元素
print(name)#输出结果:['红太狼', '美羊羊', '灰太狼', '慢羊羊', '蕉太狼', '暖羊羊']

3. 可变序列的通用操作

+*(拼接和重复)
       •+ 可以将两个列表拼接成一个列表
       •* 可以将列表重复指定的次数 (注意:2个列表不能够做乘法,只能和整数做乘法运算)

name1 = ['喜羊羊', '美羊羊', '沸羊羊']
name2 = ['慢羊羊', '懒羊羊', '暖羊羊']#将两个列表拼接在一起
print(name1+name2)#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name = ['喜羊羊', '美羊羊', '沸羊羊']#将列表内容重复三次
print(3*name)#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '喜羊羊', '美羊羊', '沸羊羊', '喜羊羊', '美羊羊', '沸羊羊']

in和not in
       •in用来检测指定元素是否在列表中,返回的是布尔值
       •not in 用来检测指定元素是否不在列表中,返回的是布尔值

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']#判断喜羊羊是否在列表中
print('喜羊羊' in name)#在,输出结果:True
name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']#判断慢羊羊是否不在在列表中
print('慢羊羊' not in name)#在,输出结果:False

       •max() 获取列表中最大值
       •min() 获取列表中最小值

number = [1, 2, 3, 4, 5, 6, 7, 8]
print(max(number))#输出结果:8
print(min(number))#输出结果:1

       •len() 获取列表中元素的个数

name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
print(len(name))#输出结果:6

       •方法:list.index(x,起始索引,结束索引)
       •第一个参数是获取指定元素在列表中的位置
       •第二个参数表示查找的起始位置索引
       •第三个参数表示查找的结束位置索引

name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']#在列表的全部元素中查找则返回第一结果的索引值
print(name.index('懒羊羊'))#输出结果:2
name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']#在指定区间查找返回结果的索引值
print(name.index('懒羊羊', 3, 6))#输出结果:5

       •list.count(元素名) 统计指定元素在列表中出现的个数

name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
print(name.count('懒羊羊'))#输出结果:2

4. 列表的方法

       •list.append() 向列表的最后添加一个元素

name = ['喜羊羊', '美羊羊', '沸羊羊']
name.append('灰太狼')#向列表最后添加'灰太狼'这个元素
print(name)#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '灰太狼']

       •list.insert(arg1,arg2) 向列表指定位置插入一个元素 参数1:要插入的位置 参数2:要插入的元素

name = ['喜羊羊', '美羊羊', '沸羊羊']
name.insert(1, '灰太狼')
print(name)输出结果:['喜羊羊', '灰太狼', '美羊羊', '沸羊羊']

       •list.extend(iterable) 使用一个新的列表来扩展当前列表(它会将该列表的中元素添加到原列表中) 参数为一个列表

name1 = ['喜羊羊', '美羊羊', '沸羊羊']
name2 = ['红太狼', '灰太狼', '蕉太狼']
name1.extend(name2)#向name1列表最后添加neme2列表
print(name1)#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '红太狼', '灰太狼', '蕉太狼']

       •list.pop() 根据索引删除元素并会返回删除的指定元素

name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
a = name.pop(2)#删除索引为2的元素,并返回赋值给a
print(name)#输出结果:['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
print(a)#输出结果:懒羊羊

       •list.remove() 删除指定元素 (如果相同值的元素有多个,只会删除第一个)

name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name.remove('懒羊羊')#相同值只会删除第一个
print(name)#输出结果:name = ['喜羊羊', '美羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name.remove('懒羊羊')
print(name)

       •list.reverse() 翻转列表

name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name.reverse()#翻转列表
print(name)#输出结果:['暖羊羊', '懒羊羊', '慢羊羊', '沸羊羊', '懒羊羊', '美羊羊', '喜羊羊']

       •list.sort(key=None,reverse=False) 用来对列表中的元素进行排序 reverse:True反序;False 正序

name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name.sort(reverse=True)
print(name)#输出结果:['美羊羊', '沸羊羊', '暖羊羊', '懒羊羊', '懒羊羊', '慢羊羊', '喜羊羊']
name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
name.sort(reverse=False)
print(name)#输出结果:['喜羊羊', '慢羊羊', '懒羊羊', '懒羊羊', '暖羊羊', '沸羊羊', '美羊羊']

5. 遍历列表

5.1 for循环遍历列表

       •语法表现
             •for 变量 in 序列(遍历的规则):
                   代码块
       •注意: for循环的代码块会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的各个元素

name = ['喜羊羊', '美羊羊', '懒羊羊', '沸羊羊', '慢羊羊', '懒羊羊', '暖羊羊']
for i in name:
    print(i)
#输出结果:
#喜羊羊
#美羊羊
#懒羊羊
#沸羊羊
#慢羊羊
#懒羊羊
#暖羊羊

5.2 range(start, stop, step)

       •参数说明
       •start: 计数从 start 开始。默认是从0开始。例如range(5)等价于range(0, 5);
       •==stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 ==
       •step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

for i in range(0,5):
    print(i)
#输出结果一样:0 1 2 3 4 
for i in range(5):
    print(i)
for i in range(0,5):
    print(i)
#输出结果一样:0 1 2 3 4
for i in range(0,5,1):
    print(i)

猜你喜欢

转载自blog.csdn.net/qq_45261963/article/details/107329911