首页 技术 正文
技术 2022年11月11日
0 收藏 812 点赞 2,999 浏览 1358 个字
  • 列表

列表名 = [元素1,元素2,…]

列表和C中的数组有些相似,但列表的功能更加强大,数组的元素要求是同种类型,但列表可以是混合类型。

跟数组一样,通过元素的索引值,我们可以从列表获取单个数据。

这里介绍上面代码用到的几个函数:

  1. append():用于添加列表元素,但是一次只能添加一个。
  2. extend():拓展函数,需要注意的是,由于使用列表拓展列表,所以这个函数的参数是一个列表。
  3. insert():这个函数可以指定在哪个位置插入什么元素,参数1是位置(从0开始),参数2是元素。
  • 删除元素

这里介绍一下上面用到的几个函数:

  1. remove():移除某一个元素,参数是该元素
  2. del:del可以删除整个列表,也可以按下表索引删除某个元素
  3. pop():由于python列表是把元素存放在堆栈里的,因此可以利用出栈pop把元素取出来,没有参数默认取出最后一个元素,下标作为参数可以取出相应元素。
  • 列表分片

分片得到的是列表部分内容的拷贝,原列表不会改变。

  • 列表常用操作符
  1. 比较操作符
  2. 逻辑操作符
  3. 连接操作符

    注意:用+进行连接操作时,两边数据必须是同种类型。

  4. 重复操作符
  5. 成员关系操作符

    如图,python列表中的列表元素不能直接访问,其访问方式和C语言中的二维数组相似。

  • 列表函数

用dir(list)可以查看list相关函数,这里简单介绍几个:

  1. count():参数是一个元素,返回该元素在列表中的个数。
  2. index():参数也是一个元素,返回该元素在列表中的位置,也可以分段查找,参数依次为元素、查找起始位置,结束位置。
  3. reverse():将列表中的元素从头到尾翻转。
  4. sort():默认为将列表元素升序排列,函数原型为sort(func,key,reverse=False),前两个参数一般为默认值可以不管,降序排列用sort(reverse=False)。
  • 补充
    前面我们讲了列表分片,我们可以这样copy一个列表:新列表 = 旧列表[:],也可以这样:新列表 = 旧列表。
    这两种方式有区别,前者是真正的把列表的内容copy了放到另外一个地方,后者是取走了旧列表的位置,和指针很相似。
    因此,当旧列表改变时,前者创建的列表不会发生改变,而后者创建的列表会随旧列表的改变而改变,只有前者能实现备份。感受一下下面这个具体的实例:

  • append()和extend()的区别

append是向列表添加一个元素,如果append的参数是一个列表,那么这个列表整个作为新元素。

extend是以列表的形式拓展列表,其参数本身就是个列表,相当于两个列表合并。

  • 练习
      1. 有列表 name = [‘F’, ‘i’, ‘h’, ‘C’],如果小甲鱼想要在元素 ‘i’ 和 ‘h’ 之间插入元素 ‘s’,应该使用什么方法来插入?

      2. 打印列表

        换一种格式打印,用至少两种方法:

      3. 再看看列表赋值: 

        假设[1,2,3,4,5]是在内存开辟出来的空间1,[6]是在内存开辟出来的空间2。
        开始的时候old指向空间1,让new=old也就是让new也指向空间1,后来old指向空间2,并没有改变new指向的空间1,所以new还是[1,2,3,4,5]。
        如果后来没有让old指向空间2,而是改变空间1,那么new也会随之改变。如下:

      4. 请问如何将下边这个列表的’小甲鱼’修改为’小鱿鱼’?
        list1 = [1, [1, 2, [‘小甲鱼’]], 3, 5, 8, 13, 18]
上一篇: Lattice Codes
下一篇: css3的动画特性
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,946
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,472
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,285
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,101
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,733
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,768