Python版本:3.6.2  操作系统:Windows   作者:SmallWZQ

Python包含6种常见的内建序列。它们分别是列表、元祖、字符串、Unicode字符串、buffer(memoryview)对象和range对象。下面将重点介绍Python中最常见的数据结构——列表(list())。

关于列表,在很多资料中,作者都会把它描述为“列表:Python的‘苦力’”。至于为什么这么形容列表,我也不知道这其中的奥秘。细细想来,可能的原因之一:列表是可变的——可以改变列表的内容,而且列表有许多有用的、专门的方法。因此,与其它序列相比,列表更具一般性。

  列表格式:L = [1,2,3,4,5,6],英文符号([ ]:中括号)

1.列表转化:使用list()函数

图1 list()函数

特别地,list()函数适用于所有类型的序列,而不只是字符串。

2.元素索引

       列表中所有元素都有“门牌号”。索引0指向第一个元素,依次递增。最后一个元素的索引既可以是len(列表)-1也可以是-1

       

图2 列表索引

3.元素赋值

列表赋值通过索引标记来为某个已知的位置明确的元素赋值,即L[0]=8。因此,改变列表是非常容易的。

4.删除元素

对于删除列表中的元素,可以使用del语句。

L = [1,2,3,4,5,6]

del L[2]

L = [1,2,4,5,6]

len(L) = 5   #列表长度由6变为5。

5.分片操作

对于分片,有人会觉得多此一举,我会用索引就行了。但是,现实中可不是这样的。比如:输出列表中的最后三个元素,或者输出列表中第3-6个元素等等。碰到此类情况,怎么办?有人会说:“可以用循环语句实现啊。”然而,Python讲究简洁,尽量使用最短的语句实现最多的功能。因此,分片就能发挥作用了。话不多说直接上图。

图3 列表分片操作

图中所示的语句操作,基本上涵盖了列表中有关分片支持的特性。如有不足,请读者指出遗漏。

6.列表方法

列表方法如何调用呢?很简单,一般地,对象.方法(参数),对象被放置到方法名之前,并且两者之间用“.”(点号)隔开,方法调用与函数调用类似。

列表常用的方法:append()、count()、index()、insert()、pop()、remove()、reverse()、sort()。 关于方法含义与具体操作(列表方法并不都能真正改变列表内容),这里就不一一叙述了。列表方法就是为了使用简短的语句实现更多的功能。因此,这些列表方法都是挺简单的,目的在于检查或修改其中的内容。

  列表能够使用所有适用于序列的操作,如索引、连接、分片和相乘(*)。列表就是Python内建序列的“万能胶水”。

  列表特性总结:

  1.Python内置的数据结构;

  2.列表是可变的;

  3.list是一种有序的集合;

  4.随时添加和删除list中的元素;

  5.list支持的方法众多,包含len()、append()、insert()、pop()、sort()......

Python数据结构之一——list(列表)的更多相关文章

  1. Python数据结构——栈的列表实现

    用Python内置的列表(list)实现栈,代码如下: import os os.chdir("E:\\Python_temp") class Stack: def __init_ ...

  2. python 数据结构之顺序列表的实现

    算法简要: 追加直接往列表后面添加元素,插入是将插入位置后的元素全部往后面移动一个位置,然后再将这个元素放到指定的位置,将长度加1删除是将该位置后面的元素往前移动, 覆盖该元素,然后再将长度减1 #! ...

  3. python数据结构-如何在列表、字典、集合中根据条件筛选数据

    如何在列表.字典.集合中根据条件筛选数据 问题举例: 过滤列表[1, 2, 5, -1, 9, 10]中的负数 筛选字典{“zhangsan”:97, "lisi":80, &qu ...

  4. python数据结构

      . 数据结构¶ .1. 深入列表¶ 链表类型有很多方法,这里是链表类型的所有方法: list.append(x) 把一个元素添加到链表的结尾,相当于 a[len(a):] = [x] . list ...

  5. python容器类型:列表,字典,集合等

    容器的概念我是从C++的STL中学到的 什么是容器? 容器是用来存储和组织其他对象的对象. 也就是说容器里面可以放很多东西,这些东西可以是字符串,可以是整数,可以是自定义类型,然后把这些东西有组织的存 ...

  6. python数据结构之图的实现

    python数据结构之图的实现,官方有一篇文章介绍,http://www.python.org/doc/essays/graphs.html 下面简要的介绍下: 比如有这么一张图: A -> B ...

  7. Python数据结构与算法--List和Dictionaries

    Lists 当实现 list 的数据结构的时候Python 的设计者有很多的选择. 每一个选择都有可能影响着 list 操作执行的快慢. 当然他们也试图优化一些不常见的操作. 但是当权衡的时候,它们还 ...

  8. Python数据结构与算法--算法分析

    在计算机科学中,算法分析(Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程.算法的效率或复杂度在理论上表示为一个函数.其定义 ...

  9. 【转】Python 爬虫的工具列表【预】

    这个列表包含与网页抓取和数据处理的Python库 网络 通用 urllib -网络库(stdlib). requests -网络库. grab – 网络库(基于pycurl). pycurl – 网络 ...

  10. Python数据结构之四——set(集合)

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 经过几天的回顾和学习,我终于把Python 3.x中的基础知识介绍好啦.下面将要继续什么呢?让我想想先~~~嗯,还是 ...

随机推荐

  1. [学习OpenCV攻略][017][ARM9下移植OpenCV]

    安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3.5.1.tar.gz.OpenCV-2.3.1a.t ...

  2. 自己实现一个each迭代器

    什么是迭代器? 其实就是对一个对象内部进行遍历的方法,比如jquery的each方法,或者原生js的foreach方法. 迭代器的特点 针对迭代器,这里有几个特点: ☑ 访问一个聚合对象的内容而无需暴 ...

  3. 立即掌握SSM框架的要诀

    ssm框架的总结: 1. 首先是POM.xml 文件的配置,他的作用主要是添加依懒的关系和自动下载相关的包. 2.对jdbc.properties进行配置 ,作用就是连接你的数据库的配置. 3.对接着 ...

  4. thinkPHP内置字符串截取msubstr函数用法详解

    作者:陈达辉 字体:[增加 减小] 类型:转载 时间:2016-11-15 我要评论 这篇文章主要介绍了thinkPHP内置字符串截取函数用法,结合实例形式分析了thinkPHP内置的字符串截取函数功 ...

  5. TP5 中实现支付宝支付 利用model层调用支付宝类库

    <?php /** * Created by PhpStorm. * User: admin * Date: 2017/8/16 * Time: 09:16 */ namespace app\a ...

  6. php错误 分析

    ---------------------------------------------------------------------------------------------------- ...

  7. asp.net -mvc框架复习(7)-基于MVC搭建用户登录项目框架

    整体框架: 一.搭建Model层 1.添加通用数据访问类 2.添加实体类(封装和传递数据,和数据库中数据表对应) 3.添加数据访问类(通常和实体类同名,但是后缀名发生改变) 二.搭建控制器层Contr ...

  8. J.U.C atomic AtomicInteger解析

    很多情况下我们只是需要简单的,高效,线程安全的递增递减方法.注意,这里有三个条件:简单,意味着程序员尽可能少的底层或者实现起来比较简单:高效,意味着耗用资源要少,程序处理速度要快: 线程安全也非常重要 ...

  9. SVN的安装和配置

    SVN为程序开发团队常用的代码管理,版本控制软件:下面我们来介绍TortoiseSVN的安装,和其服务器的搭建:(下面为windows 64位系统下的搭建) 闲来无事,就在本地搭建了一个SVN环境,网 ...

  10. mybatis用spring的动态数据源实现读写分离

    一.环境: 三个mysql数据库.一个master,两个slaver.master写数据,slaver读数据. 二.原理: 借助Spring的 AbstractRoutingDataSource 这个 ...