python初学-列表
列表操作:
列表一般需要先调用方法后才能打印,不能直接打印调用的方法
因为列表可以修改 一般不会返回一个新列表
# 列表
# new_names = ['lzc','lzc2','lzc3']
# 下标,索引,角标
# 计算机计数都是从0开始
#查询
# new_names = ['lzc','lzc2','lzc3']
# print(new_names[0]) #取值只有这一种方式
# print(new_names.count('lzc')) #查询元素出现的次数
# print(new_names.index('lzc3')) #查询元素的下标,如果列表里面有重复的元素,就只会访问第一个元素的下标
列表和字符串都有index方法 但是列表没有find方法
# 每次写代码,都是在内存里面申请空间,每次存的东西都是存在内存里面
# 当代码运行完毕,之前运行的代码就不会占用内存,内存会被释放
# 增加
# new_names.append('liu') #从末尾增加元素
# new_names.insert(0,'zunchang') #从指定位置添加
# print(new_names)
# 改
# new_names[0]='liuzunchang'
# print(new_names)
# 删
# del new_names[0] 括号中中的是 下标
# new_names.pop() #默认删除最后的一个元素 括号中用的是下标
# new_names.pop(2) #默认删除最后的一个元素,指定元素下标后删除指定元素
# print(new_names)
# new_names.remove('lzc') #删除 括号中用的是具体元素
# remove写元素 pop是写索引的
# names.clear()#清空列表
# 反转
# print('反转之前的:',new_names)
#
# new_names.reverse()
# print('反转之后的:',new_names)
#排序
# nums=[4,2,5,212,1,55,3,72]
# print('排序之前的:',nums)
# nums.sort() #排序,默认是升序 排序只能针对int类型的进行排序,其他的类型 会报错
# nums.sort(reverse=True) #排序,写上reverse=True)就是降序
# print('排序之后的:',nums)
#扩展列表
# new_names.extend(nums) #把nums元素加到news_name中,合并两个list,.extend本身是没有返回的,所以需要打印
# print(new_names)
# haha=new_names+nums #拼接两个列表形成新列表
# print(haha)
in
# if 'lzc' in usernames:
#用in来判断一个值在不在一个list里面
# not in 判断不在一个list
-----------------------------------------------------------------------------------------------------
其他:
# print(names.count('hsdfsdf'))#查找值在list里面的次数
# print(names[-2]))#下标是-2的话,代表最后一个元素
# print('names',names)
# print(names.index('yinwenqiao'))#返回查找元素的下标,如果有多个话返回第一个的,如果没有的话就会报错
# print(names.index('yinwenqiao',3,4))#后面可以加上查找开始位置和结束位置
stus = ['yangwb','yangwn','yanghj']
# print('加起来的',stus+names)#两个列表合并
# nums = [23,34,21,2,456,35,12324324]
# print('sort降序:',nums)
# print(nums)
# print(names[-3])#下标是-1的话,代表最后一个元素
------------------------------------------------------------------------------------------------------------
列表--数组
# others=[1,2,3,4,'liuzun','zunchang'] #一维数组
#
# nums=[1,2,3,4,['wwe','lzc','qqq']] #二维数组
# print(nums[4][1])
#
# num2=[2,3,1,4,[5,3,'ll',[22,1,33]]] #三维数组
# print(num2[4][3][2])
# print(num2[-1][-1][-1]) #-1代表数组中的最后一个下标的值
# list=nums[4].index('lzc')
# print(list)
# list对比字符串的优势,取数据比较方便
-----------------------------------------------------------------
# 切片
# nums=[1,2,3,4,5,6,7,8,9]
# print(nums[2:7]) #切片取值顾头不顾尾
# print(nums[:7]) # # 如果最前面的下标不写 代表取值到从最开始的地方写
# print(nums[2:]) # 如果最后的下标不写 代表取值到最后面
# print(nums[:]) #如果最后的前后都不写,代表取所有的值
# print(nums[2:7:2]) #隔两个取一个值
# print('步长为1',nums[::])
# print('步长-1:',nums[::-1]) #如果步长是负数,那就是从后边的末尾开始取值
# nums_re=nums.reversed
# print('qq',nums_re)
此处nums.reserve() print(nums) 等同于print(nums[::-1])
即 #如果步长为-1的时候,还有反转的功能
# 步长-1被反转 : [9, 8, 7, 6, 5, 4, 3, 2, 1]
# print(names[-3])#下标是-1的话,代表最后一个元素
-------------------------------------------------------------------------
#强制类型转换函数
#int()
#float()
#str()
#list()
#tuple()
--------------------------------------------------------------------
#定义一个空列表
# 取下标为1的值
#向列表中添加成员
# 查询元素的下标
#计算2在列表中出现的次数
#向列表中添加一个列表
#列表值被改变
#获得5在列表中的位置
#从0开始,也就是在第3个成员处插入6,其他成员顺次后移
#删除列表中第3个成员
#删除列表中第最后成员
#删除列表中的5
#清空列表
#颠倒列表的顺序
#将列表中的成员重新排序
#升序排序
# 将列表反转
# 修改第三个为66
#判断5是否在列表中
#判断666不在列表中中
#找出三维数组中的最后一个元素的值user=[1,2,3,4,54,[111,222,[6666,111]]]