Python学习日志(四)

  • 列表

列表名 = [元素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]
时间: 2024-08-24 04:27:12

Python学习日志(四)的相关文章

python学习第四十八天json模块与pickle模块差异

在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点  跨语言,体积小 缺点 只能支持 int str list tuple dict pickle 的优点和缺点 优点 专门为python设计,支持python所有的数据类型 缺点 只能python使用,存储数据占空间大 文章来自 www.96net.com.cn 原文地址:https://www.cnblogs.com/96net/p/97806

Python学习第四天学习写的小案例(主要是针对 分支/循环的学习)

Python学习第四天学习写的小案例 (2019/07/17) 第一题:使用while循环输出1 2 3 4 5 6 8 9 10 程序代码: s = 0 while s<10: if s==6: s += 1 # 当数字为7的时候输出一个空格出来 print(end=' ') continue s += 1 print(s,end=' ') 运行结果: 1 2 3 4 5 6 8 9 10 第二题: 求1-100的所有数的和 程序代码: count = 0 for i in range(101

python学习-第四天补充-面向对象

python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的python的伪私有,实际是python通过名字修改来进行的,python会把这样命名的变量或者函数名改为_类名__变量名 class A: __name="hello" t = A(); #print(t.__name) #这样会出现错误,错误提示说这个变量没有__name类型 print

Python学习日志9月13日

p { margin-bottom: 0.25cm; line-height: 120% } 昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比win7要好看很多,很舒服,下个软件却要设置java的环境变量,而我连java是什么玩意都不知道.思维导图不能用了,又得想别的办法,对我来说这是非常重要的工具啊.简直没有它无法从事脑力活动. 因为前天晚上也

Python学习日志9月14日

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; color: #000000; min-height: 13.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang TC&qu

我的python学习--第四天

一.首先是对前三天的学习内容进行复习 1.python基础的数据结构 数字(int/float,包括整数和浮点数) 布尔(boolean => True/False) 字符串(str,使用''或""括起来) 列表(list) 列表是使用[]括起来的一组数组,在内存中是连续的,可以对其增删改查 字典(dict) 字典是使用{}括起来的k/v键值对,经过哈希计算随机分布在内存中,是无序的,可以对其增删改查 元组(tuple) 元组与列表类似,不同之处在于元组的元素不能修改,元组使用小

Python 学习日志9月18日

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "Helvetica Neue"; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "PingFang SC"; color: #000000 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px "Hel

Python学习日志_2017/09/08

今天早晨学习了<Head First :HTML and CSS>:学习了两个章节,感觉从基础学习特别的踏实,能看懂的同时踏踏实实的锻炼了基础的能力.我个人认为无论哪个行业,最重要的永远是基础的知识.因为一门学问,能够有健全稳定的架构体系是非常不容易的,而这整个体系的稳定性都由基础决定的.返本归元,任何一门学问无论高层建筑多么的辉煌,至高的境界都是回归学问最基础的本身.明天继续学习这本书接下来的两章.要我看10天左右就过一遍这本书了.下午四个小时都花费在三道编程题上边了.<Think P

Python学习日志之Python模块

Python入门学习笔记之Python模块 Python模块: 一.认识Python模块 1.什么是模块 函数是可以实现一项或多项功能的一段程序.我们的模块是函数功能的扩展,模块是可以实现一项或多项功能的程序块.从定义可以看出:函数是一段程序,模块是一项程序块,也就是说函数,模块都是用来实现功能的,但是模块范围要广,在模块里可以重用多个函数 2.如何导入模块 在Python程序中如果要使用某个模块,不能直接使用某个模块的功能.在模块使用之前,我们需要先导入指定模块,只要导入模块后我们才能使用 >