Python3基础-基本数据类型之列表
list 列表
list
- list 中括号括起来
- ,分割每个元素
- 列表中的元素可以是数字,字符串、列表、布尔值等所有的都能放进去
- 有序,元素可以被修改
访问列表中的值-切片
list1 = ['Susu', 'Runoob', 19, 18] list2 = [1, 2, 3, 4, 5, 6, 7]; list3 = [1, 2, 3, 4, 5, ['Susu',19,['Runoob',18]],6, True] print("list1[0]: ", list1[0]) print("list2[1:5]: ", list2[1:5]) print("list3[0:9]: ", list3[0:7]) #切片的结果也是列表 print("list3[-1]: ", list3[-1]) #切片的结果也是列表 print("list3[3,-1]: ", list3[3:-1]) """ 执行结果如下 list1[0]: Susu list2[1:5]: [2, 3, 4, 5] list3[0:9]: [1, 2, 3, 4, 5, ['Susu', 19, ['Runoob', 18]], 6] list3[-1]: True list3[3,-1]: [4, 5, ['Susu', 19, ['Runoob', 18]], 6] """
For循环\While循环
list3 = [1, 2, 3, 4, 5, 6, True,['Susu',19,['Runoob',18]]] for item in list3: print("item=",item,' ;',end='') index = 0 while index < len(list3): print("index=",list3[index],' ;',end='') index += 1 """ 执行结果 item= 1 ;item= 2 ;item= 3 ;item= 4 ;item= 5 ;item= 6 ;item= True ;item= ['Susu', 19, ['Runoob', 18]] index= 1 ;index= 2 ;index= 3 ;index= 4 ;index= 5 ;index= 6 ;index= True ;index= ['Susu', 19, ['Runoob', 18]] ; """
list 修改、删除
list3 = [1, 2, 3, 4, 5, 6, True,['Susu',19,['Runoob',18]]] list3[1]=3333 #索引方式修改 print("索引修改list",list3) list3[2:5]=['我是第三个字符','我是第四个字符','我是第5个字符'] #切片方式修改 print("切片修改list",list3) del list3[0] #索引方式删除 print("索引删除list",list3) del list3[2:5] #切片方式删除 print("切片删除list",list3) """ 执行ijeg如下 索引修改list [1, 3333, 3, 4, 5, 6, True, ['Susu', 19, ['Runoob', 18]]] 切片修改list [1, 3333, '我是第三个字符', '我是第四个字符', '我是第5个字符', 6, True, ['Susu', 19, ['Runoob', 18]]] 索引删除list [3333, '我是第三个字符', '我是第四个字符', '我是第5个字符', 6, True, ['Susu', 19, ['Runoob', 18]]] 切片删除list [3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]] """
#pop() 删除某个值 可以获取删除的值 list= ['Susu', 'Runoob', 19, '18'] list.pop() #默认删除最后一个值 print(list) #输出 ['Susu', 'Runoob', 19] popnum=list.pop(1) #删除index=1的值 print(popnum) #输出 删除index=1的值 Runoob #remove() 指定某个元素进行删除,左边优先 list= ['Susu', 'Runoob', 19, '18'] list.remove('Susu') print(list) #输出 ['Runoob', 19, '18']
list 新增元素
list= ['Susu', 'Runoob', 19, '18'] list.append('12') # append在原来的list 值后追加‘12’ print(list) #输出 ['Susu', 'Runoob', 19, '18', '12'] list.append(1) # append在原来的list 值后追加‘1’ print(list) # 输出 ['Susu', 'Runoob', 19, '18', '12', 1] list.append([1,2]) #输出 append在原来的list 值后追加[1,2] print(list) #['Susu', 'Runoob', 19, '18', '12', 1, [1, 2]]
list= ['Susu', 'Runoob', 19, '18'] list.append([112,'Song']) # append在原来的list 值后追加[112,'Song'] print(list) #输出 ['Susu', 'Runoob', 19, '18', [112, 'Song']] list.extend([112,'Song']) #扩展列表 参数可迭代对象 print(list) #输出 ['Susu', 'Runoob', 19, '18', [112, 'Song'], 112, 'Song'] list.extend('hahuhu') # ['Susu', 'Runoob', 19, '18', [112, 'Song'], 112, 'Song', 'h', 'a', 'h', 'u', 'h', 'u'] print(list) list.extend(['hahuhu']) #['Susu', 'Runoob', 19, '18', [112, 'Song'], 112, 'Song', 'h', 'a', 'h', 'u', 'h', 'u', 'hahuhu'] print(list)
list 插入元素
#insert()在指定索引位置插入元素 list= ['Susu', 'Runoob', 19, '18'] list.insert(0,'name') print(list) #输出 ['name', 'Susu', 'Runoob', 19, '18']
list 清空元素
list= ['Susu', 'Runoob', 19, '18'] list.clear() print(list) #输出 []
list 拷贝
#拷贝 浅拷贝 list= ['Susu', 'Runoob', 19, '18'] list1=list.copy() print(list,'\n',list1) """ 执行结果 ['Susu', 'Runoob', 19, '18'] ['Susu', 'Runoob', 19, '18'] """
list count()
list= ['Susu', 'Runoob', 19, '18',['Susu', 19, ['Runoob', 18]]] num=list.count(19) #计算元素出现的次数 print(num) #输出 1
list 判断某个值是否在列表中
list=[3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]] if 3333 in list: print("在list列表中") else: print("不在list列表中") """ 执行结果 在list列表中 """
list 获取当前值索引的位置
#获取当前值索引位置(左边优先) list= ['Susu', 'Runoob', 19, '18'] v_list=list.index(19) print(v_list) #输出 2
list排序
#reverse()当前列表进行翻转 list= ['Susu', 'Runoob', 19, '18'] list.reverse() print(list) #输出 ['18', 19, 'Runoob', 'Susu'] #soft()排序 默认从小到大进行排序 list= [25, 1, 19, 2] list.sort() print(list) #输出 [1, 2, 19, 25] list.sort(reverse=True) #从大到小进行排序 print(list) #输出[25, 19, 2, 1]
list 嵌套列表
list=[3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]] list_num=list[3][2][1] print(list_num) """ 执行结果 18 """
字符串和list相互转换
test='哈哈哈我的' new_testlist=list(test) print(new_testlist) """ 执行结果 ['哈', '哈', '哈', '我', '的'] """ #list转换成字符串 list=[3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]] strlist=str(list) print(strlist) """ 执行结果 [3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]] """ #list元素只有字符串,可以用join list1 = ['Susu', 'Runoob', '19', '18'] strlist1=''.join(list1) print(strlist1) """ 执行结果 SusuRunoob1918 """ #list元素有数字、列表,用join会报错 #TypeError: sequence item 2: expected str instance, int found #list1 = ['Susu', 'Runoob', 19, '18'] #strlist1=''.join(list1) #print(strlist1)
int 转换成list
TypeError: 'int' object is not iterable
list内存回收机制
list3 = [1, 2, 3, 4, 5, 6, True,['Susu',19,['Runoob',18]]] print(id(list3)) #id list3[1]=3333 #修改列表的值 print(list3) print(id(list3)) #id """ 执行结果 12579064 [1, 3333, 3, 4, 5, 6, True, ['Susu', 19, ['Runoob', 18]]] 12579064 """
对于列表的更改:是在原来列表指定的内存地址上更改