序列
列表(list)
列表是python中的一个对象
对象(Object)就是内存中专门用来存储数据的一块区域。
对象只能存储一个单一的数据,列表可以存储多个有序的数据。
创建列表:
#使用[]创建列表,
list1 = []
一个列表中可以存储多个元素,且可以在创建列表时指定列表中的元素。
列表中有多个元素,使用英文,隔开
list2 = ['苹果','香蕉','葡萄','橙子']
print(list2)
[‘苹果’, ‘香蕉’, ‘葡萄’, ‘橙子’]
注:列表是可以保存任意对象的
如:
list3 = [1,'列表',True,None,[1,2],print]
print(list3)
[1, ‘列表’, True, None, [1, 2], ]
列表是有序的,按照先后插入顺序依次保存。
获取列表中的元素
列表中每一个存储的对象,列表都会为其分配一个索引,默认索引值从0开始。
获取list2中的元素葡萄
print(list2[2])
葡萄
注:当获取列表中不存在的索引时,则会抛出异常
如:
print(list2[4])
list index out of range 超出列表的索引范围
获取列表的长度
获取列表的元素个数使用len()函数,既:列表的长度 - 1 就是列表的最大索引
print(len(list2))
4
注:由此可以得到list2的最大索引值为 4 - 1 ----> 3
遍历列表
方法一:
for i in list2 :
print('索引值:%s 索引对应值: %s' % (list2.index(i),i))
索引值:0 索引对应值: 苹果
索引值:1 索引对应值: 香蕉
索引值:2 索引对应值: 葡萄
索引值:3 索引对应值: 橙子
方法二:
for i in range(0,len(list2)):
print('索引值: %s 索引对应值: %s' % (i,list2[i]))
索引值: 0 索引对应值: 苹果
索引值: 1 索引对应值: 香蕉
索引值: 2 索引对应值: 葡萄
索引值: 3 索引对应值: 橙子
方法三:
for i,val in enumerate(list2) :
print('索引值: %s 索引对应值: %s' % (i,val))
索引值: 0 索引对应值: 苹果
索引值: 1 索引对应值: 香蕉
索引值: 2 索引对应值: 葡萄
索引值: 3 索引对应值: 橙子
设置遍历开始初始位置,只改变初始索引值
for i,val in enumerate(list2,3) :
print('索引值: %s 索引对应值: %s' % (i,val))
索引值: 3 索引对应值: 苹果
索引值: 4 索引对应值: 香蕉
索引值: 5 索引对应值: 葡萄
索引值: 6 索引对应值: 橙子
在此说一下查看函数方法,使用help(‘FunctionName’)
help('len')
Help on built-in function len in module builtins:
len(obj, /)
Return the number of items in a container.
删除列表元素
使用del可以删除列表的元素,语法: del list_XXX[index]
list4 = ['奥迪','宝马','奔驰']
print(list4)
del list4[2]
print('删除索引为2的list值:',list4)
[‘奥迪’, ‘宝马’, ‘奔驰’]
删除索引为2的list值: [‘奥迪’, ‘宝马’]
切片
切片指从现有列表中,获取一个子列表
创建一个列表,一般变量名会使用复数
fruits = ['苹果','香蕉','葡萄','橙子']
列表的索引可以实复数,如果索引为负数,则从后向前获取元素,-1表示倒数第一个,依次类推。
print(fruits[-1])
橙子
通过切片获取指定元素
语法:列表[起始:结束]
通过切片获取元素时,会包括起始位置元素,但不包括结束位置元素,总会返回一个新的列表
print(fruits[1:3])
[‘香蕉’, ‘葡萄’]
注:如果省略开始位置,则从第一个位置截取到指定的结束位置元素。如果省略结束位置,则从指定开始位置元素截取至列表的最后一个元素。若省略开始位置与结束位置,则截取全部元素。
print(fruits[1:])
print(fruits[:2])
print(fruits[:])
[‘香蕉’, ‘葡萄’, ‘橙子’]
[‘苹果’, ‘香蕉’]
[‘苹果’, ‘香蕉’, ‘葡萄’, ‘橙子’]
步长表示,每次获取元素的间隔,默认值为1
语法:列表[起始位置:结束位置:步长]
print(fruits[1:3:2])
[‘香蕉’]
注:步长值不能为0,但可以为负数
print(fruits[1:3:0])
slice step cannot be zero
如果为负数,从列表的后部向前取元素
print(fruits[::-1])
‘橙子’, ‘葡萄’, ‘香蕉’, ‘苹果’]
+ 与 *
list5 = ['奔驰','宝马','奥迪','丰田','红旗']
+ 可以将对列表进行拼接
list6 = list5 + ['吉利','哈佛']
print(list6)
[‘奔驰’, ‘宝马’, ‘奥迪’, ‘丰田’, ‘红旗’, ‘吉利’, ‘哈佛’]
* 可以指定列表重复的次数
print(list5 * 3)
[‘奔驰’, ‘宝马’, ‘奥迪’, ‘丰田’, ‘红旗’, ‘奔驰’, ‘宝马’, ‘奥迪’, ‘丰田’, ‘红旗’, ‘奔驰’, ‘宝马’, ‘奥迪’, ‘丰田’, ‘红旗’]
in 与 not in
list7 = ['赵','钱','孙','李']
in 检查指定元素是否存在于列表,存在返回True,否则返回False
print('赵' in list4)
print('吴' in list4)
True
False
not in 检查指定元素是否不存在于列表中,存在返回False,否则返回True
print('赵' not in list4)
print('吴' not in list4)
False
True
列表函数
函数名 | 用途 | 返回值 |
---|---|---|
max(list) | 返回列表元素最大值 | 返回列表元素中的最大值 |
min(list) | 返回列表元素最小值 | 返回列表元素中的最小值 |
list(str) | 将元组或字符串转换为列表,str – 要转换为列表的元组或字符串 | 返回列表 |
列表方法
方法名 | 用途 | 语法 | 参数说明 | 返回值 |
---|---|---|---|---|
lappend() | 在列表末尾添加新的对象 | list.append(obj) | obj – 添加到列表末尾的对象 | 无返回值,但是会修改原来的列表 |
count() | 统计某个元素在列表中出现的次数 | list.count(obj) | obj – 列表中统计的对象 | 返回元素在列表中出现的次数 |
extend() | 用于在列表末尾一次性追加另一个序列中的多个值 | list.extend(seq) | seq – 元素列表,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。 | 没有返回值,但会在已存在的列表中添加新的列表内容 |
index() | 从列表中找出某个值第一个匹配项的索引位置 | list.index(obj) | obj – 查找的对象。 | 返回查找对象的索引位置,如果没有找到对象则抛出异常 |
insert() | 用于将指定对象插入列表的指定位置 | list.insert(index, obj) | index – 对象obj需要插入的索引位置。 obj – 要插入列表中的对象。 | 没有返回值,但会在列表指定位置插入对象 |
pop() | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 | list.pop([index=-1]) | index – 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值 | 返回从列表中移除的元素对象。 |
remove() | 移除列表中某个值的第一个匹配项 | list.remove(obj) | obj – 列表中要移除的对象。 | 没有返回值但是会移除列表中的某个值的第一个匹配项。 |
reverse() | 反向列表中元素 | list.reverse() | 没有返回值,但是会对列表的元素进行反向排序 | |
sort() | 对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数 | list.sort( key=None, reverse=False) | key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认) | 没有返回值,但是会对列表的对象进行排序 |
clear() | 清空列表,类似于 del a[:] | list.clear() | 没有返回值 | |
copy() | 复制列表,类似于 a[:] | list.copy() | 返回复制后的新列表 |
注:本文仅用于个人学习记录,如有错误之处希望大家多多指正,共同进步。|