python学习笔记四(列表)

列表:

同构:所有的数据是相同
异构:所有的数据类型不同

创建列表

1.创建一个普通列表:
       [1,2,3]
2.创建混合列表:
       [1,2,3,'hehe',[1,2,3]]
3.创建空列表
       []
4.利用工厂函数创建
     list():创建空列表
     list(iterable):
     从可迭代对象的元素中初始化一个新的列表


可迭代对象
列表的长度:列表元素的个数
len(列表)---返回列表长度


向列表中添加元素
1.L.append(object) 返回None
向列表末尾添加一个对象
2.extend(iterable): 返回None
从可迭代对象在将可迭代对象中的元素添加到列表中
添加到末尾
3.L.insert(index,object):
在下标index之前插入一个对象(元素) 
元素下标从0开始目的为了让计算机更加好算,效率更高

从列表中访问元素

1.通过下标访问元素
2.通过for循环进行遍历
      列表中所有的元素访问一遍,不重复,不遗漏
      访问:读取数据,修改数据
3.通过下标直接修改元素内容
4.元素互换:
      l[2],l[3]=l[3],l[2]
5.元素删除
  1.clear()返回None,删除列表中所有元素
  2.pop([index])删除并返回元素,当有参数时返回指定元素,否则,删除最后一个元素
  如果列表为空或列表超出范围,抛出异常IndexError
  3.remove(value) 返回None
   删除当前指定值的元素
   如果这个值不在列表中,则抛出ValueError异常
  4.del 内容 删除语句
   删除指定内容


列表分片

1.也称之为切片
slice
可以获取多个数据---利用切片

切片的方式
   L[start:stop]
从start开始,到stop结束,stop取不到
本质上度原有的列表进行了拷贝,并没有修改原列表

简写方式
    如果从起始下标获取,则起始下标可以省略
    如果获取到最后一个数据,则结束下标可以省略
    如果其开始下标和结束下标都不写---获取全部数据---整个列表的拷贝

取值范围
   1.列表的下标:index
            可以是负数:从后向前第index个元素
            1.[-1]:从后向前数第一个元素
   2.index的取值范围:
            正数:0~len(list)-1
            负数: -len(list)~-1
   3.切片的index实际上是一个取值范围,并不是确切的下标
   4.切片可以有第三个参数:step
          l[start:stop:step]
          step:步长:可以是负数
          如果step是负数,则表示反向切片

列表常用的运算符

1.比较运算符:
           比较规则
           从第一个元素开始对比,如果值一样则比较下一个
           如果是字符串,比较的是编码值
           如果任何一个下标的元素可以比较出大小,则不继续比较
           不同类型的数据不能比较大小
2.逻辑运算符:
3.拼接运算符:加号
            l1+l2
            返回一个新列表(两个列表元素拼接)
4.重复操作:乘号
           多个相同的列表进行拼接
5.成员关系操作符
          in/not int
      
列表中的其他函数

1.copy():返回list
           浅拷贝
        拷贝出一个新的列表
2.count(value) 返回元素出现次数


排序:

分析---程序归纳
程序归纳法,控制变量法
八大排序
冒泡排序,选择排序,快速排序
基数排序,归并排序,shell(希尔排序),直接插入排序,堆排序

冒泡排序

让列表中的元素相邻的两个元素比较大小,如果不符合条件的,则更换位置

#冒泡排序
l=[5,4,3,2,1]
length=len(1)
for i in range(length-1):
    for j in range(1,length-i):
        if[j-1]>l[j]:
            l[j-1],l[j]=l[j],l[j-1]
print(1)

选择排序

每一次让同一个下标的元素和其他的元素作对比

#选择排序
l=[4,3,2,1]
n=len(l)
for i in range(n-1):
    for j in range(i+1,n):
        if l[i]>l[j]:
            l[i],l[j]=l[j],l[i]
print(l)

sort()
排序:list自带的排序方法:
默认使用的归并排序算法

1.sort(key=None,reverse=false)返回None
       将列表中的元素进行排序处理---会影响原列表 
       key:要使用的排序方法
       reverse:是升序否要反转
       默认是升序
2.reverse()返回None
       原地反转


二维列表

列表中存放列表
l=[[1,2,3],[2,3,4],[3,4,5]]
一维列表中的一维列表(套用几层列表就是几维列表)

#矩阵
1.直接访问
     通过两个下标进行访问
     l[1][0]
     第一个下标:行
     第二个下标:列
2.遍历
     利用双重循环(循环嵌套)

二维列表的创建

1.直接创建
l=[[1,2,3],
   [4,5,6],
   [7,8,9]]
2.拼接
l1=[[1,2,3]]
l2=[[4,5,6],[7,8,9]]
l1+l2
3.重复:
      l1*3=[[1,2,3],[1,2,3],[1,2,3]]
      如果修改任何一个数据,其他的元素也跟着改
      重复运算:将同一个元素展示了多遍,本质上,是同一个对象
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值