何为列表
可以理解为一种存放元素的容器(类比其他语言的数组)。
列表中的元素不受类型的限制,不同类型的数据都可以扔进同一个列表:
list1 = ['emt', 1568, True, "哈哈哈"]
一个空列表:
list2 = []
列表中可以包含其他列表:
list3 = ["start", [1, 2, 3], ["a", "b"]]
访问列表元素
使用数字索引
第一个元素的索引为0,而不不是1。
list_a = ["我是第一个元素", 666, "end"]
print(list_a[0])
print(list_a[1])
#我是第一个元素
#666
数字索引可以为负
负数下标-1
,-2
分别表示倒数第一个,倒数第二个元素,以此类推。
list_a = ["我是第一个元素", 666, "end"]
print(list_a[-1])
print(list_a[-2])
#end
#666
对列表的一些操作
修改元素值
可以指定修改列表中某元素的值:
list_b = ["test", "apple", 45678]
list_b[2] = "change"
print(list_b)
#['test', 'apple', 'change']
可以看出指定的元素值已经被修改,其他元素没有发生变化。
添加元素
使用append()
方法在列表末尾添加新元素:
list_c = [123, 555, 'so']
list_c.append(456)
print(list_c)
#[123, 555, 'so', 456]
使用insert()
方法在指定位置插入元素:
两个参数,依次为索引值和元素值。
list_d = [1, 5, 7, 9]
list_d.insert(1, 3)
print(list_d)
#[1, 3, 5, 7, 9]
删除元素
使用del
语句删除
list_e = [2, 3, 4, 6, 5]
del list_e[3]
print(list_e)
#[2, 3, 4, 5]
使用pop()
方法删除
不使用参数,默认删除列表中的最后一个元素,并返回该值。
list_f = ["123", 123, 456, 'bbc']
pop_ele = list_f.pop()
print(pop_ele)
print(list_f)
#bbc
#['123', 123, 456]
在括号中指定参数,弹出指定元素。
list_g = [2222, 33, 55, 89]
list_g.pop(-2)
print(list_g)
#[2222, 33, 89]
使用remove()
方法根据值删除元素
参数即为指定删除的元素。
list_h = [155, 666, 4, 789, 666]
list_h.remove(666)
print(list_h)
#[155, 4, 789, 666]
若该元素在数组中出现了多次,只会删除第一次出现时的元素。
合并列表
使用extend()
方法合并多个列表
list_h = [155, 4, 789, 666]
list_g = ["ss", "aa"]
list_g.extend(list_h)
print(list_g)
list_g.extend(['n', 'e', 'w'])
print(list_g)
#['ss', 'aa', 155, 4, 789, 666]
#['ss', 'aa', 155, 4, 789, 666, 'n', 'e', 'w']
列表排序
使用sort()
方法对列表永久性排序
list_i = ["x", 'am', "emmm"]
list_i.sort()
print(list_i)
#['am', 'emmm', 'x']
设置reverse=True
使其倒序排序
list_i = ["x", 'am', "emmm"]
list_i.sort(reverse = True)
print(list_i)
#['x', 'emmm', 'am']
使用函数sorted()
对列表进行临时排序
list_j = [542, 23, 67, 8]
print(sorted(list_j))
print(list_j)
#[8, 23, 67, 542]
#[542, 23, 67, 8]
列表元素的顺序并没有发生变化,同样,该函数也可以传递参数reverse=True
使之倒序排序。
使用reverse()
方法反转列表
list_k = [999, 1, 57, 43]
list_k.reverse()
print(list_k)
#[43, 57, 1, 999]
并不是倒序排序,而是将列表以与初始态相反的顺序显示。
使用函数len()
确定列表长度
list_k = [999, 1, 57, 43]
print(len(list_k))
#4
使用copy()
方法复制列表
list_l = ['cx', 'vb', 'nm']
list_temp = list_l.copy()
print(list_temp)
#['cx', 'vb', 'nm']
使用clear()
方法清空列表
list_m = [777777777777777, 21]
list_m.clear()
print(list_m)
#[]
列表依然存在,不过为一个空列表。
使用count()
方法统计某元素出现的次数
参数即为需统计的元素值。
list_n = [233, 4, 233, 23, 77, 233]
times = list_n.count(233)
print(times)
#3
使用index()
方法查找某元素在列表中的位置
使用一个参数,即查找元素值,返回第一次出现位置的下标。
list_o = ['ass', 'emm', 'flag', 'test', 'flag']
print(list_o.index('flag'))
#2
可以使用第二,三个参数来指定查找范围,不在范围内的元素会被忽视。第二、三个参数指定的范围:[开始, 结束)
list_o = ['ass', 'emm', 'flag', 'test', 'flag']
print(list_o.index('flag', 3, 5))
#4
列表分片
-
list[a:b],从list[a]到list[b-1],共(b-a)个元素。
-
list[a:],从list[a]到列表最后一个元素。
-
list[:b],从元素的第一个元素开始到list[b-1]
-
list[:],列表所有元素,常用来复制列表。
list_p = [1, 2, 3, 4, 5, 6, 7, 8]
print(list_p[1:3])
print(list_p[1:])
print(list_p[:3])
print(list_p[:])
#[2, 3]
#[2, 3, 4, 5, 6, 7, 8]
#[1, 2, 3]
#[1, 2, 3, 4, 5, 6, 7, 8]
步长(间隔访问)
list_p = [1, 2, 3, 4, 5, 6, 7, 8]
print(list_p[::2])
print(list_p[::3])
print(list_p[::-2])
#[1, 3, 5, 7]
#[1, 4, 7]
#[8, 6, 4, 2]
如有错误,欢迎指正~
网友评论