#列表操作
#定义
s = [50, 90, 88, "hello", True]
print(type(s))
#访问列表元素
#获取
print(s[0])
print(s[-5])#负数索引从后往前数,-1是最后一个元素,-2是倒数第二个元素,以此类推
#注意:如果指定索引,超出范围会报错
# print(s[5])#IndexError: list index out of range
#修改
s[0] = 100
print(s[0])
#删除
del s[0]
print(s)
#遍历
for item in s:
print(item)
#列表的切片
#注意左边包含,右边不包含
# [0:5]表示获取索引0到4的元素,结束索引不包含在内
#切片不仅可以用正向索引,还可以用负向索引
s = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
#切片语法:列表[起始索引:结束索引:步长]
print(s[0:5:1])#获取索引0到4的元素,结束索引不包含在内
print(s[0:5])#步长默认为1,可以省略
print(s[:5])#起始索引默认为0,可以省略
print(s[0:5:2])#获取索引0到4的元素,步长为2,即每隔一个元素获取一个
print(type(s[0:5:2]))#切片返回一个新的列表
#list常用方法
s = [10,20,30,40,50,70,80,90,100]
#append()方法在列表末尾添加一个元素
s.append(110)
print(s)
#insert()方法在指定位置插入一个元素
s.insert(0, 0)#在索引0的位置插入元素0
print(s)
#extend()方法在列表末尾一次性添加多个元素
s.extend([120, 130, 140])
print(s)
#remove()方法删除列表中指定的元素
s.remove(70)
print(s)
#pop()方法删除列表中指定位置的元素,并返回该元素
removed_element = s.pop(0)#删除索引0的元素,并返回该元素
print(removed_element)
print(s)
#index()方法返回列表中第一个匹配项的索引
index = s.index(30)
print(index)
#count()方法返回列表中指定元素的出现次数
count = s.count(30)
print(count)
#sort()方法对列表进行排序
s.sort()#默认升序排序
print(s)
s.sort(reverse=True)#降序排序
print(s)
#reverse()方法反转列表中的元素
s.reverse()
print(s)