wangyan188 发表于 2018-8-7 06:29:55

python --006--列表

  列表 list
  

数组可以管理多个数据 必须相同的类型  
python本质没有数据类型 管理一组数据就得使用列表
  

  ·创建列表
  1、创建一个普通列表
  l=['zhang3','li4','wang5']
  l2=
  2、创建混合列表:
  l3=
  3、创建空列表:
  l4=[]
  

查看列表的长度  
len(列表)
  

  ·向列表添加元素
  append(元素)
  属于列表的方法
  元素:列表中每一个数据都称为元素
  1、每次只能添加一个元素
  2、添加在列表的末尾
  

list1 =   
print list1,len(list1)#, 3
  
list1.append(4)
  
print list1,len(list1)#, 4
  
list1.append(5)
  
print list1,len(list1)#, 5
  

  
list1=
  
list1.append()
  
print list1#]
  

  insert(索引,数据)
  索引:index---下标
  表示在指定位置插入数据
  

list1=  
list1.insert(1,5)
  
print list1 #
  
list1.insert(0,1)
  
print list1##在上一个列表的基础上
  

  ·从列表中获取元素
  通过列表下标获取元素,如果超出列表下标范围,会报错,out of range
  

list1=  
pirnt list #1
  

  获得列表中的所有元素,不重复,不遗漏
  一个个拿
  for 循环
  

list1=  
for i in list1:
  print i   #1 2 3分行打印
  

  换位置
  

list1=  
temp=list
  
list=list
  
list=temp
  

  
print list1#
  

  ·remove(元素)
  

list1=  
list1.remove(2)
  
print list1
  

  如果删除的元素不在列表中,会报错
  del 列表的元素,变量-----(不是方法,是语句)
  

list1=  
del list1
  
print list1 #
  

  del list:删除了下标为1的元素
  del list1:删除这个列表
  pop()
  

list1.pop():删除最后一个元素  
list1.pop(索引):
  list.pop(2)对应2下标的元素 不是2
  

  
pop()删除元素会将删除的元素进行返回
  

  后进先出 将最后一个删除
  

list1=  
list1.pop()
  
print list1 #
  

  
s=list1.pop() #3
  
返回最后一个值
  

  
列表的分片(slice)
  

  切片
  list1[起始下标,终止下标] 从起始下标到终止下标的所有元素(终止下标取不到)
  

list1=  
list1   #6取不到
  

  分片实质上是对原有列表进行了拷贝,原有列表没有被改变
  

list1=  
list2=list1
  
print list1#
  
print list2#
  

  简化:
  list1=
  1、list1[:3]#如果索引是第一个元素开始,可以省略下标
  

list1=  
print list1[:3]#
  

  2、list1 #从下标为2的元素到最后一个元素
  

list1=  
print list#
  

  3、list1[:] #输出整个列表
  

list2=list[:]  

  
list1=
  
list2=list[:]
  
list3=list1
  
list1=99
  

  
print list1 #
  
print list2#
  
print list3#
  

  注意输出结果 list1list3相同 本质两个是一样的
  一个是赋值 一个是拷贝
  分片的进阶:
  

list1[起始下标:结束下标:步长]  
list1=
  
print list #
  

  
list1[::2]#
  
list1[::-1]#倒序输出
  

  
列表的常用运算符
  

  1、比较运算符(布尔运算符):
  

list1=  
list2=
  
print list1>list2
  
返回False
  
先比较第一个元素,如果第一个元素相等,比较第二个元素,类推
  

  2、逻辑运算符
  

and or not  

  
list1=
  
list2=
  
print list1>list2 and list1>list2#False
  

  3、列表的拼接
  

列表的加法(extend())  
list1=
  
list2=
  
print list1+list2#
  

  同如下:
  list1=
  list1.extend()#必须是列表的形式
  4、重复运算符
  

list1=  
list1*3#
  

  5、成员关系运算
  in-----在中
  not in---不在中
  

    list1=  print 1 not in list1 #Fasle
  

  ·列表的函数
  dir(列表)
  print dir(list)展示内置属性与方法
  1、count(元素)
  查看元素出现的次数
  

    list1=  print list1.count(4)#返回2出现2次
  

  2、index(元素)
  返回元素在列表中的位置(返回第一次出现的位置)
  

    list1=  print list1.index(3)#返回1
  

  
从起始下标到结束下标范围中,第一次出现元素的下标
  

  index(元素,起始下标,结束下标)
  

list1=  
print list1.index(3,3,7)#返回5
  

  3、reverse()
  整个列表反转
  

    list1=  list1.reverse()
  print list1 #
  

  4、sort()
  快速排序(默认从小到大)
  

    list1=  list1.sort()
  print list1   #
  

  从大到小排序
  第一:
  

list1=  
list1.sort()
  
list1.reverse()
  
print list1
  

  第二:
  

sort(func,key,reverse)  
func:排序算法
  
key:关键字
  
reverse:默认False
  

  
list1=
  
list1.sort(reverse=True)
  
print list1
  

  ·二维列表
  列表中的列表,列表中的元素可以是列表,每个列表元素有两个下标
  

list1=[,,]  
print list#返回1
  

  每个列表元素的两个下标分别代表行与列
  遍历
  将列表中所有的元素访问一遍,不遗漏,不重复
  1、一维
  

list1=  
for i in list1:
  print i
  

  2、二维
  

list1=[,,]  
for i in list1:
  for j in i:
  print j#返回1,2,3.。。直到9 分行
  

  ·二维列表的定义
  python 列表的定义:
  1、
  

list1=  
list2=
  
print list2#[]
  
list2=*3
  
print list2#[,,]
  

  创建二维列表:
  1、直接定义:手工定义
  2、间接定义 :利用推到式定义
  list1=[for i in range(3)]
页: [1]
查看完整版本: python --006--列表