首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

第3.2节 Python列表简介

  • 23-09-22 18:41
  • 3378
  • 13603
blog.csdn.net

鉴于Python中列表(list)的强大功能,本节及后面至少有一节都是介绍列表相关的知识,本节先介绍基本的列表知识。
一、 列表的定义

  1. 列表是一种可以修改的序列,它有点类似于c语言中的数组,在Python中,列表用中括号来表示。

  2. 下列方式都是定义列表的方式
    l1=[] # l1是空列表
    l2=[1,2,3,4] #l2数字列表
    l3=[1,2,3,‘a’,‘b’,‘c’] #l3数字和字母混合列表
    l4=[‘Hello’,l2,l3] #l4是包含字符串和列表l2、l3作为元素的混合列表,对应的列表值为:[‘Hello’, [1, 2, 3, 4], [1, 2, 3, ‘a’, ‘b’, ‘c’]]
    type(l4) #执行结果显示:

  3. 从上面定义列表的样例可以看到,列表的元素类型没有要求,可以是任意数据类型,其元素甚至还可以是列表以及后面要介绍元组、集合等,不同元素可以是不同类型;

  4. 这种可以包含其他类型对象(如列表、元组、字典等)作为元素的对象,在 Python中称为容器(container);两种主要的容器是序列(如列表和元组)和映射(如字典)。在序列中,每个元素都有编号,而在映射中,每个元素都有名称(也叫键)。有一种既不是序列也不是映射的容器,它就是集合(set)。

二、 列表的操作方法

  1. 上节介绍的所有序列的操作方法都可以用于列表;
  2. 由于列表不同于字符串和元组,列表是一种可以修改的序列,所以列表的操作方法比上章介绍的要多,主要多出了如下内容:
    1)通过索引修改元素的值,而这是字符串和元组无法进行的。如:
    l = [‘张三’,‘19911008’,‘男’,‘本科’]
    定义了一个存储张三基本信息的列表,可以通过l[3]=’研究生’,将该列表中的学历信息修改为‘研究生’;
    2)从列表中删除元素,只需使用del语句加列表元素位置即可,如删除性别可使用:del(l[2]) ,删除后l变为[‘张三’, ‘19911008’, ‘本科’];
    3)方法insert用于将一个对象插入列表指定索引位置,如l.insert(2,‘男’),将上面删除性别的列表恢复了性别这个元素’;
    4)方法pop从列表中删除一个元素(末尾为最后一个元素),并返回这一元素,不带参数就删除最后一个,带参数则删除指定位置的元素。pop是唯一既修改列表又返回一个非None值的列表方法。执行l.pop()就将列表中的学历“本科”删除并返回这个字符串;
    5)方法extend可使用一个列表来扩展另一个列表,这可能看起来类似于拼接,但存在一个重要差别,那就是将修改被扩展的序列。在常规拼接中,情况是返回一个全新的序列,并没有改变参与拼接的列表的内容,实际上常规拼接是使用参与拼接的列表的副本叠加后创建一个新列表,而extend是将参数对应列表叠加到调用对象的末尾,因此如果使用l3= l1 + l2,拼接的效率将比l1.extend(l2)低.
    6)方法remove通过找到列表中第一个与变量相同的元素,然后删除该元素且不返回值,这是与pop不同的地方。如:
    n=[1,2,3,1,2,3]
    b=n.remove(1) #删除后列表n变成了[2, 3, 1, 2, 3]。此地的1不是索引,是列表中的元素值,如果不用数字就更清晰
    7)方法clear()删除列表的所有元素,列表变成空列表。

本节介绍了列表的基本概念及基本操作方法,下一节我们将继续介绍列表的一些复杂操作。
老猿Python系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。该系列文章同步发表于:
http://blog.sina.com.cn/learnpython
http://laoyuanpython.lofter.com/
https://me.csdn.net/LaoYuanPython
欢迎大家批评指正,谢谢大家关注!

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树科学计算基础软件包NumPyNumPy概述333596 人正在系统学习中
老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI
注:本文转载自blog.csdn.net的LaoYuanPython的文章"https://blog.csdn.net/LaoYuanPython/article/details/89288632"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top