python中的列表:
字符串:str
列表:list []
元组:tuple
字典:dict
集合:可变集合,不可变集合
------------------------------------------------------------------------------------
首先:我们讲下定义一个列表的方法两种:
第一种:直接通过[ ]来定义 ([] 中括号)
list1 =[1,2,3,'teat'] #定义一个列表 print(type(list1)) #<class 'list'> 列表类型 print(list1) #打印结果为:[1, 2, 3, 'test']
第二种:通过list来转换
a ='hello' #定义一个字符串 print(type(a)) #<class 'str'> 字符串类型 b=list(a) #通过list列表类型来将a字符串转换成为列表 print(type(b)) #<class 'list'> print(b)#打印['h', 'e', 'l', 'l', 'o']已列表的格式输出
------------------------------------------------------------------------------------
对列表操作:
通过索引赋值:格式 列表名[ 索引]=“ 新值”
通过切片赋值:格式 列表名[ 索引:]=“ 新值”
append 添加函数
exend 添加函数,(两个列表的拼接)
insert 插入
remove 删除
del 删除
sort 升序
sorted 降序
reverse 反转
pop 删除(默认删除最后一个元素)
------------------------------------------------------------------------------
# 根据索引来对列表中赋值(可以理解为替换)
第一种:赋值(索引方式)
list =[1,2,3,4,5,'teat'] # 定义一个列表 list [4]='yy' #通过索引给对应索引位插入一个值, print(list) #打印结果: [1, 2, 3, 4, 'yy', 'test']
#注意点:1、把原来对应索引位置的值替换成新的值
2、索引位是从左0开始,比如4就是第5个数
第二种:赋值
list =[1,2,3,4,5,'teat'] # 定义一个列表
list[3:]="我们是一群奋斗的兄弟" #从索引值为2开始将后面所有的值赋予成123 print(list) #[1, 2, '3', '我', '们',’是’,’一’,’ 群’,’奋’,’斗’,’的’,’兄’,’弟’]
-----------------------------------------------------------------------------------
列表:添加元素:
l =[1,2,3,4] # 定义一个列表 l.append('hello') #通过append函数来添加一个具体的元素值 print(l) #打印列表 [1, 2, 3, 4, 'hello']:
备注:添加的值默认在最后一位;
-------------------------------------------------------------------------------------------
extend 列表拼接
a=[1,2,3] #定义一个列表 b=[4,5,6] #定义一个列表 a.extend(b) #把a列表中的值和b中的值进行拼接通过extend函数来形成一个列表 print(a) #[1, 2, 3, 4, 5, 6]
备注:a.extend(b)表示 a拼接了b,拼接后的列表是在a中
------------------------------------------------------------------------------------------------------
列表中插入一个具体的值:insert
1、根据索引值插入值:(如果索引已存在插入,之前的索引值+1, 不存在出入就插入指定索引值,超出索引值也是在最后显示)
第一种情况:超出的索引值
s =[1,2,3,4,5] #定义一个列表 s.insert(10,'hello') #给索引值为10的位置在最后一位 print(s) #[ 1, 2, 3, 4, 5,'hello']
备注:超出索引范围,都默认显示在列表的最后一位
第二种情况:存在的索引值
s =[1,2,3,4,5] #定义一个列表 s.insert(0,'hello') #给索引值为0的位置插入一个具体的值 print(s) #['hello', 1, 2, 3, 4, 5]
备注:插入的值是当前指定的索引,原列表中的索引加1或(往后推一位)
第三种情况:负向索引
s =[1,2,3,4,5,6] #定义一个列表 s.insert(-1,'hello') #给索引值为0的位置插入一个具体的值 print(s) #[1, 2, 3, 4,5,'hello', 6]
-----------------------------------------------------------------------------------------------------
删除列表中的元素remove
方法一:删除的是具体的值
第一种情况:有对应的值,有且只有一个
场景一:列表中是字符,删除要加上引号
l = ['a', 1, 2, 3, 4, 5, 6, 'b'] # 定义一个列表 l.remove("a") # 移除l列表中对应的具体值 print(l) # 显示结果:[1, 2, 3, 5, 6,'b']
场景二:列表中是数值,直接删除
c=[1,2,3,4,5,6,"a"]
c.remove(2)
print(c)
打印结果: [1, 3, 4, 5, 6, 'a']
第二种情况: 删除有多个一样的值,只删除第一个
l = ['c', 1, 2, 3, 4,'c' ,5, 6, 'c'] # 定义一个列表 l.remove("c") # 移除l列表中对应的具体值 print(l) #显示结果 [1, 2, 3, 4, 'c', 5, 6, 'c']
备注:多个同样的值,从左开始删除第一个值,
# 移除l列表中对应的具体值
第三种情况:删除不存在的值,报错,不在删除的列表中
l = ['c', 1, 2, 3, 4, 5, 6, 's'] # 定义一个列表 l.remove("a") # 移除l列表中对应的具体值 print(l) # 显示结果:报错 删除的内容不存在列表中
方法二:del 删除
第一种情况:
del 通过索引 删除列表种对应的元素
# l1 =[1,2,3,4,5] #定义一个列表 # del l1[4] #删除对应列表中对应的索引值对应的值 # print(l1) #打印结果:[1, 2, 3, 4]
第二种情况: 超出索引值,删除列表是错误的
l1 =[1,2,3,4,5] #定义一个列表 del l1[6] #删除对应列表中对应的索引值对应的值 print(l1) #显示结果:list assignment index out of range
备注:报错,列表索引超出范围
---------------------------------------------------------------------------------------------------------
排序(升序和降序)
sort 升序
场景1:
l1 =[5,4,3,2,1] #定义一个列表 l1.sort() #通过sort来对列表进行升序排序 print(l1) #[1, 2, 3, 4, 5]
场景二:字符和数值在一个列表中不能进行排序,报错
c=[1,2,"a",3,4,3,5,6,"a"]
c.sort()
print (c)
报错TypeError: '<' not supported between instances of 'str' and 'int'
场景三:列表中出现多个相同的数值排序(根据数值的大小并列)
d=[1,2,9,4,3,6,6,5,6]
d.sort()
print(d)
打印结果:[1, 2, 3, 4, 5, 6, 6, 6, 9]
sorted reverse=ture 降序
sorted reverse=false 升序
s =[6,3,1,5,4,2] print(sorted(s,reverse=True)) #降序:[6, 5, 4, 3, 2, 1] print(sorted(s,reverse=False)) #升序:[1, 2, 3, 4, 5, 6]
备注:ture和false 中的首个字母大写
------------------------------------------------------------------------------------------------------------------
reverse 函数 :反转输出
s =[1,2,3,9,5,6,7] #定义一个内部 s.reverse() #列表中的反转输出 print(s) #[7, 6, 5, 9, 3, 2, 1]
-------------------------------------------------------------------------------------------------------------------
pop 函数 :删除 (默认删除末尾的值,也可以通过索引来删除)
第一种情况:pop默认删除末尾的值
l =[1,2,3,4,5] #定义一个列表 l.pop() #删除末尾的值 print(l) #[1, 2, 3, 4] print(l.pop()) #4 直接输出显示的为被删除的值,存留的不显示
第二种情况:pop 通过索引删除
m = [1, 2, 3, 4, 5, 6] # 定义一个列表 m.pop(1) #通过pop来删除索引值为1的对应的值 print(m) #打印结果为:[1, 3, 4, 5, 6] #print(m.pop(1)) # 删除索引值为4对应的值:
c=[1,2,3,4,5,6,"a"]
c.remove(2)
print(c)
场景一:index根据列表中具体的值得出索引值
d=[1,2,9,4,3,6,6,5,6]
print(d.index(2))
打印结果:1