python list 列表
 列表是一个可变的链表结构体,可变代表着不可hash
 CRUD(创建,读,更新,删除)
 和元组一样,多了一些特殊的方法
1,创建
 2,读 (索引,切片)
 3,更新 (插入,末尾添加(append vs extend))
 4,删除 (按索引删除,按值删除,清空)
 5,特殊方法 (拷贝,翻转,排序)
1,创建
userinfo1=[1,"zhangsan",18,"sales"]
print(userinfo1)
userinfo2=[]
print(userinfo2)
userinfo3=list((1,2,3,4,5))
print(userinfo3)
 
[1, ‘zhangsan’, 18, ‘sales’]
 []
 [1, 2, 3, 4, 5]
 2,读 (索引,切片)
 #按照索引读取值,从左到右,或者从右到左
userinfo1=[1,"zhangsan",18,"sales"]
print(userinfo1[2])
print(userinfo1[3])
 
18
 sales
 #按照切片读,格式 userinfo1[start🔚step],start,end可以省略,step默认是1
list=[1,2,3,4,5,6,7,8,9,10]
print(list[1:3])  #start=1  end=3 step=1(默认)  前开后闭
 
[2, 3]
list=[1,2,3,4,5,6,7,8,9,10]
print(list[1:9:2])  #start=1  end=10 step=2 前开后闭
 
[2, 4, 6, 8]
list=[1,2,3,4,5,6,7,8,9,10]
print(list[:9:2])  #start=0(默认)  end=9 step=2 前开后闭
 
[1, 3, 5, 7, 9]
list=[1,2,3,4,5,6,7,8,9,10]
print(list[1::2])  #start=1  end=缺省为最后 step=2 
 
[2, 4, 6, 8, 10]
 3,更新
 #末尾添加 append 添加的作为一个整体
list=[1,2,3,4,5]
list.append([5,6,7,8])  #在列表末尾添加,作为一个整体添加
print(list)
 
[1, 2, 3, 4, 5, [5, 6, 7, 8]]
 #末尾添加 extend 扩展后合并
list=[1,2,3,4,5]
list.extend([5,6,7,8])  #在列表末尾添加,转换成列表后合并到原来的列表中
print(list)
 
[1, 2, 3, 4, 5, 5, 6, 7, 8]
 #中间插入 (实际应用中比较不推荐,列表为链表结构,虽然能插入,但是成本很高)
list=[1,2,3,4,5]
list.insert(2,"hello")  #在index为2的位置添加,然后后面的数据往后移
print(list)
 
[1, 2, ‘hello’, 3, 4, 5]
 4,删除 (按索引/值删除)
 #按索引删除
list=[1,2,3,4,5]
list.pop()   #默认index=-1,为删除最后的那个
print(list)
list.pop(0)  #可以指定删除的index
print(list)
 
[1, 2, 3, 4]
 [2, 3, 4]
 #按值删除
list=[1,2,3,4,5,1]
list.remove(2)  #删除值=2的值
print(list)
list.remove(1)  #删除值=1的值,如果有重复的,则删除第一次匹配的
print(list)
 
[1, 3, 4, 5, 1]
 [3, 4, 5, 1]
 #清空 clear
list=[1,2,3,4,5]
list.clear()   #清空列表中所有数据 
print(list)
 
[]
 5,特殊方法 拷贝,翻转,排序
 #拷贝 将某一个列表复制后给另外的列表
list1=[1,2,3,4,5]
list2=list1.copy()
print(list2)
 
[1, 2, 3, 4, 5]
 #翻转
list1=[1,2,3,4,5]
list1.reverse()   #将列表翻转,列表实际发生了变化
print(list1)
 
[5, 4, 3, 2, 1]
 #排序 注意:排序的列表中间只能是同类型的数据
 #默认升序排列
list1=[1,2,3,4,5,1,6]
list1.sort()    #排序,默认升序排列
print(list1)
 
[1, 1, 2, 3, 4, 5, 6]
 #修改成降序排列
list1=[1,2,3,4,5,1,6]
list1.sort(reverse=True)
print(list1)
 
[6, 5, 4, 3, 2, 1, 1]










