一:列表
1.什么是列表(list)
列表是容器型数据类型(序列),将[]作为容器的标志,多个元素用逗号隔开。
特点:可变的(指的列表中元素可变 - 元素支持增删改)、
有序的(支持下标操作)
2.声明列表
变量名 = [元素1, 元素2,元素,3 元素]
[] -> 空列表
3.列表中的元素要求:
任何类型的数据都可以作为列表元素,同一个列表中数据的类型可以不一样。
4获取列表中的元素(查)
1)获取单个元素
a.语法:
列表[下标] - 获取列表中指定下标对应的元素
b.说明
列表 - 结果是列表的表达式(列表数据,列表变量)
[] - 固定写法
下标 - 下标又叫索引;列表中每个元素都有固定的下标值来表示元素在列表中的位置。
范围1: 0 ~ 长度-1(从前往后的第一个元素、第二个元素、.......)
范围2: -1,-2,-3,~-长度(从后往前数的倒数第一个元素、倒数第二个元素、......)
注意:下标不能越界(超过范围)
2)获取部分元素(切片)
列表切片的结果是小列表
a.语法:
列表[开始下标:结束下标:步长] - 从开始下标开始,每次下标增加步长去取下一个元素,直到取到结束下标前为止
(在列表中获取range(开始下标,结束下标,步长)产生的数字序列作为下标的元素)
注意:
步长为正表示开始下标到结束下标是从前往后取,所以开始下标对应的元素必须在结束下标对应的元素前面,否则结果是[]
步长为负表示开始下标到结束下标是从后往前取,所以开始下标对应的元素必须在结束下标对应的元素后面,否则结果是[]
3)遍历
a.直接遍历元素
for 变量 in 列表:
循环体
b.通过遍历下标来遍历列表元素
len(列表) - 获取列表中的元素的个数
for index in range(len(列表)):
循环体
例:
# 1)获取单个元素
names = ['柯南', '夏洛洛', '夏洛克', '路飞', '索罗', '哆啦A梦']
print(names[1], names[-5]) #夏洛洛 夏洛洛
# 2)获取部分元素(切片)
names = ['柯南', '夏洛洛', '夏洛克', '路飞', '索罗', '哆啦A梦']
print(names[1:5:1]) #['夏洛洛', '夏洛克', '路飞', '索罗']
print(names[1:-2:1]) #['夏洛洛', '夏洛克', '路飞']
print(names[1:5:-1]) #[]
# 2.1省略步长:列表[开始下标:结束下标] - 相对与步长是1
print(names[0:4]) #['柯南', '夏洛洛', '夏洛克', '路飞']
print(names[-4:-1]) #['夏洛克', '路飞', '索罗']
# 2.2省略下标
# 列表[:结束下标:步长]/列表[:结束下标] - 步长是正,从列表第一个元素开始取,步长是负,从最后一个开始取。
# 列表[开始下标::步长]/[开始下标:] -步长为正取到最后一个为止,步长为负,取到第一个为止
# 列表[::步长]/列表[:]
# names = ['柯南', '夏洛洛', '夏洛克', '路飞', '索罗', '哆啦A梦']
# print(names[:4]) #['柯南', '夏洛洛', '夏洛克', '路飞']
# print(names[:4:-1]) #['哆啦A梦']
# print(names[1:]) #['夏洛洛', '夏洛克', '路飞', '索罗', '哆啦A梦']
# print(names[3::-1]) #['路飞', '夏洛克', '夏洛洛', '柯南']
# print(names[:]) #['柯南', '夏洛洛', '夏洛克', '路飞', '索罗', '哆啦A梦']
# print(names[::-1]) #['哆啦A梦', '索罗', '路飞', '夏洛克', '夏洛洛', '柯南']
scores = [12, 124, 141, 141, 151, 51, 51]
for score in scores:
print(score)
二:增删查改
1.增(增加列表中的元素)
1)列表.append(元素) - 在列表的最后添加一个元素
2)列表.insert(下标,元素) - 在列表指定下标前插入一个元素
2.删(删除列表中的元素)
1)del 列表[下标] - 删除列表中指定下标对应的元素
2)列表.remove(元素) - 删除列表中第一个指定元素。
3)列表.pop(下标) - 取出列表中指定下标对应的元素
列表.pop() - 取出列表中最后一个元素,返回被取出的元素
3.改(修改列表中元素的值)
列表[下标] = 新值
网友评论