python:list列表操作及对应方法
·
List列表是使用[]进行定义的。可以在列表中添加任何类型的数据,各个值使用逗号隔开。列表属于序列,支持序列的任何操作,包括索引,切片,加,乘,检查成员。
1.创建空列表,有两种方法:直接使用[]定义,使用list()定义
# 1.创建空列表,有两种方法:直接使用[]定义,使用list()定义
list1 = []
list2 = list()
print(list1)
print(list2)
2.列表支持的相关操作:索引,切片,加,乘,检查成员
a.通过数字索引来取值
列表的索引可以是正向索引,也可以是反向索引。正向索引是从0开始的,即第一个元素的索引是0,第二个元素的索引是1,以此类推。反向索引是从-1开始的,即最后一个元素是-1,倒数第二个元素是-2,以此类推。
需要注意的是,使用索引时,不要超出索引边界,否则会报错。
# 通过数字索引来取值,索引从0开始, 即第一个元素,索引是0,第二个是1,以此类推
list1 = ['zhangsan', 'lisi', 'haha', None, True]
print(list1[1]) # 取出列表中的第二个元素
print(list1[-1]) # 取出列表中的最后一个元素
b.通过切片取值
通过切片取值时,有一些特点,如下:
1.取头不取尾
2.开始索引是0时,可以省略
3.反向索引,开始索引是-1时,可以省略
4.取出全部时,开始和结束索引都省略
5.有步长时,则代表每多少个元素里取出一个
6.切片之后,取出的也是列表
print(list1[1:3]) # 切片时,取头不取尾。如右侧是取出列表中的第二、第三个元素,索引为3的第四个元素则不取。
print(list1[:3]) # 取出第一到第三个元素。通过切片时,如果从第一个元素开始,则可以省略。
print(list1[:-3]) # 如果使用反向索引,通过切片操作时,-1可以省略。
print(list1[:]) # 从头取到尾时,开始索引和结束索引均可以省略。
print(list1[::2]) # 步长为2,代表每2个元素,取出第一个
c.列表相加:直接使用+
list1 = ['zhangsan', 'lisi', 'haha', None, True]
list2 = ['new']
list3 = list1 + list2
print(list3)
d.列表相乘
list1 = ['zhangsan', 'lisi', 'haha', None, True]
list2 = ['new']
list3 = list1 * 2
print(list3)
e.元素检查:用in检查元素是否在列表中
list1 = ['zhangsan', 'lisi', 'haha', None, True]
print('haha' in list1)
print('ee' in list1)
3.列表相关方法
append方法:在列表末尾追加新的元素
list1 = ['zhangsan', 'lisi', 'haha', None, True]
# append 是在列表末尾追加新的元素
list1.append("new")
print(list1)
extend 在列表末尾,一次性追加另外一个列表的值
list1 = ['zhangsan', 'lisi', 'haha', None, True]
list2 = ['eee', 'fff']
# extend 在列表末尾,一次性追加另外一个列表的元素
list1.extend(list2)
print(list1)
insert方法,将指定元素插入到列表的指定位置
list1 = ['zhangsan', 'lisi', 'haha', None, True]
list1.insert(2, "insert obj") # 将 "insert obj"插入到列表的第2个索引处插入
print(list1)
pop方法,删除索引对应的元素。如果方法内不写索引值,默认删除最后一个
list1 = ['zhangsan', 'lisi', 'haha', None, True]
list1.pop(4) # 删除索引尾4的元素
list1.pop() # 默认删除最后一个元素
print(list1)
还可以使用del方法,进行删除列表中的元素
list1 = ['zhangsan', 'lisi', 'haha', 'haha', 'delete']
# del 方法删除元素
del list1[-1] # 通过del方法,删除列表中最后一个元素
print(list1)
remove方法,删除列表中第一个匹配的元素。如下,有多个haha值,但只删除第一个:
list1 = ['zhangsan', 'lisi', 'haha', None, True, 'haha']
list1.remove('haha')
print(list1)
sort方法,对列表进行排序
list1 = ['zhangsan', 'lisi', 'haha', 'haha']
list1.sort() # 默认升序排序
print(list1)
list1.sort(reverse=True) # reverse=True 则降序排序
print(list1)
list1.sort(reverse=False) # reverse=False 则升序排序
print(list1)
使用sort方法时,需要注意列表中的元素的数据类型要保持一致,否则会报错
reverse方法,反转列表中的元素
list1 = ['zhangsan', 'lisi', 'haha', 'haha']
# reverse 反转列表中的元素
list1.reverse()
print(list1)
index方法,查找元素在列表中匹配到的第一个元素的索引
list1 = ['zhangsan', 'lisi', 'haha', 'haha']
# index,在列表索引为0-3直接的元素中查找haha查找到则返回index,查找不到,报错
index1 = list1.index('haha', 0, 3) # 0 和 3 为开始索引和结束索引,为可选,不写则默认整个列表
print(index1)
count方法,统计元素在列表中出现的次数
list1 = ['zhangsan', 'lisi', 'haha', 'haha']
# reverse 反转列表中的元素
cou = list1.count('haha')
print(cou)
len方法,统计列表中元素个数
list1 = ['zhangsan', 'lisi', 'haha', 'haha', 'delete']
print(len(list1)) # 统计结果为5
使用等于号,直接赋值,替换原来的值
list1 = ['zhangsan', 'lisi', 'haha', None, True]
# = 可以直接赋值
list1[2] = 'new haha'
print(list1)
list(),将元组转化为列表
# 定义一个元组
t = ('zhangsan', 'lisi', 'haha', 'haha', 'delete')
s = list(t) # 通过list()将元组转化为列表
print(s)
还可以通过max() 、min()函数,获取列表中的最大值和最小值。
# 定义一个元组
t = (123, 456, 789)
s = list(t) # 转化为列表
print(max(s)) # 取出最大值
print(min(s)) # 取出最小值
更多推荐
已为社区贡献3条内容
所有评论(0)