Python中有四种内建的数据结构,即列表、元组、字典、集合。其中字典和集合我会以后再写,现在先说列表和元组,它们两个和以前提到很多次的字符串,

其实都属于——序列。

一、列表(list):

1. list 是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。

列表中的项目应该包括在方括号中,这样Python 就知道你是在指明一个列表。一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。由于你可以

增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的。

列表根据列表中的元素可以简单地分为三类:普通(同一数据类型)、混合(混合数据类型)、空列表。

列表一些很常用的内置方法:append() , extend() , insert() , remove() , del , pop() , count() , index() , reverse() , sort()等等。这些内置方法的参数和

用法都很简单,只需说明一个,sort 函数:sort([*, key=None, reverse=None]),注意,在Python3中,第一个参数为不可变(排序的算法默认为归并排序),             无法传入其他的实参,第二个参数代表参加排序的关键字,可以采用lambda函数:

       >>>L = [('b',2),('a',1),('c',3),('d',4)]
       >>>L.sort(key=lambda x:x[1])
       >>>L
       >>>[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
      第三个参数reverse有两个值可选,默认False为从小到大排序,设为True为从大到小排序。三个参数都是可选的。
   2. 很多操作符也可以用于列表,如比较操作符,逻辑操作符(and or not),‘+’拼接操作符(只能用于列表间的拼接不能用于添加元素相当于extend),’*‘重复操作符,
       成员关系操作符(in/not in)。注意操作符的用法和运算规则。
   3. 列表同样可以采用切片(slice)操作,用法规则几乎和字符串的完全相同。
   4. 注意,y = x[:] 通过切片操作将列表x的元素全部拷贝给y,如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,并没有产生新的副本。注意理解教学视频
       里的一句话:Python里的变量名其实就相当于贴标签。
二、元组(tuple):
   1. 元组用来将多样的对象集合到一起。元组和列表十分类似,只不过元组和字符串一样是不可变的,即你不能修改元组。
       元组通过圆括号中用逗号分割的项目定义。
      元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
   2. 注意,在元组最关键的其实不是圆括号,而是’ ,‘号。特别的,如果Python中只有一个元素,一定要写成(a,),记住下面两个例子:
      a = (3), type(a) = int ; b = 3, 4, 5   type(b) = tuple。可以看出元组中逗号是关键,甚至可以不要括号,事实上确实不是必须的。
   3. 对于上文提到的可以作用于列表的操作符同样可以作用于元组。
   4. 因为元组是不可变的,但是如果你确实需要”改变“元组的元素,可以考虑采用拼接的方法,如:
      >>> L = ('I','love','you')
      >>> L = L[:1] + ('really',) +L[1:]
      >>> L
            ('I', 'really', 'love', 'you')
       注意,这里的实质并不是”改变“元组,元组本身是不可变的毫无疑问。这里的实质只是通过拼接构造了一个新的元组,然后把 ‘L’ 这个标签贴到了新的元组上面,
              旧的元组依然存在,且保持不变。(当然适当的时机Python的垃圾回收机制会回收掉它)
三、字符串(string):    1. 这里重提字符串主要是作为序列,了解它的一些奇葩的内置方法。
         
         
         
     2. 这里必须要说的两个最常用的字符串的内置方法:
        (1). join(sub),以字符串作为分隔符,插入参数sub字符串中所有的字符中间。
        (2). format():其实就相当于C语言中的格式化输出。参数有两种,一种是位置参数,一种是关键字参数。
             其余的格式化符号与C语言中大同小异,如下图:
             
             
            注:格式化输出这一部分东西不少,但实际应用到的不多。
四、序列(serial):      1. 序列是字符串,元组,列表的统称。序列有以下特点:
         ---都可以通过索引得到每一个元素
         ---默认索引值总是从零开始
         ---可以通过切片的方法得到一个范围内的元素的集合
         ---有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
      2. Python针对序列有非常多的内置函数:
         list(), tuple(), str(), len(), max(), min(), sum(), sorted(), reversed(),enumerate(), zip()等等。
         注:在Python 中 sorted 是内置函数(BIF), 而 sort() 是列表类型的内置方法(函数) list.sort()。
              前者可以作用于序列的任意一种类型,甚至是字典排序,后者只能对列表类型排序。

Python中的序列的更多相关文章

  1. 【循序渐进学Python】4. Python中的序列——字典

    字典是Python内建的六种序列之一.字典作为一种常用的数据结构,字典中的值没有特定顺序,每个值都对应于一个唯一的键.键可以是数字.字符串甚至是元组. 1. 创建和使用字典 Python中字典可以使用 ...

  2. 【循序渐进学Python】3. Python中的序列——字符串

    字符串是零个或多个的字符所组成的序列,字符串是Python内建的6种序列之一,在Python中字符串是不可变的. 1. 格式化字符串 字符串格式化使用字符串格式化操作符即百分号%来实现.在%左侧放置一 ...

  3. 10.python中的序列

    本来说完字符串.数字.布尔值之后,应该要继续讲元祖.列表之类的.但是元祖和列表都属于序列,所以有必要先讲讲python的序列是什么. 首先,序列是是Python中最基本的数据结构.序列中的每个元素都分 ...

  4. Python中的序列操作

    官方手册:https://docs.python.org/3.7/library/stdtypes.html#sequence-types-list-tuple-range 序列简介 序列是指按照位置 ...

  5. [19/09/18-星期三] Python中的序列

    一. # 第四章 序列(视频58-76) ## 列表(list) - 列表是Python中的一个对象 - 对象(object)就是内存中专门用来存储数据的一块区域 - 之前我们学习的对象,像数值,它只 ...

  6. 【循序渐进学Python】2. Python中的序列——列表和元组

    序列概览 在Python中有六种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.在这里暂时只讨论列表和元组.列表和元组的主要区别在于:列表可以修改,元组(不可 ...

  7. 二十五、python中pickle序列学习(仅python语言中有)

    1.pickle序列介绍:提供4个关键字:dumps,dump,loads,load 语法:f.write(pickle.dumps(dict))=pickle.dump(dict,f) " ...

  8. Python 中遍历序列中元素和下标

    enumerate 函数用于遍历序列中的元素以及它们的下标 for i,v in enumerate(['tic','tac','toe']): print i,v #0 tic #1 tac #2 ...

  9. Python中对序列数据的汇总(collections模块)

    目录 Counter most_common 对于序列如字符串str.列表list和tuple可以统计里面数据出现的次数.我们使用的是 collections 模块. collections模块的常用 ...

随机推荐

  1. Java语言实现 Base64 加密 & 解密

    Java语言实现 Base64 加密 & 解密 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法. Base64 ...

  2. springboot项目启动无法访问到controller原因之一:引导类位置有问题

    新建的springboot项目启动后,无法访问到controller 页面是404错误 查看项目结构,发现是新建工程的启动类位置有问题,controller类应该位于引导类的同级包或者子级包中.需要将 ...

  3. python中的set集合

    当使用爬虫URL保存时,一般会选择set来保存urls,set是集合,集合中的元素不能重复,其次还有交集,并集等集合的功能, 爬虫每次获取的网页中提取网页中的urls,并保存,这就需要利用urls = ...

  4. 6-2 shell编程基础

    shell编程基础 编程基础 Linus:Talk is cheap, show me the code 程序和编程风格 程序: 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结 ...

  5. python基础知识(字符串)

    定义字符串 ' '单引号 " "双引号  只能用于单行 '" '"三引号  可以用于多行 拼接字符串使用  +号链接 字符串只能链接字符串其他类型字符串需要用s ...

  6. unity混音

    前言在游戏中,通常我们需要控制整个游戏的主音量(全局音量),并且单独控制背景音乐和其他音效(攻击.爆炸之类)的音量,这时我们可以用Audio Mixer来解决. 如果文章中有哪些地方写的不对, 欢迎指 ...

  7. 【C/C++】对于可重入、线程安全、异步信号安全几个概念的理解

    由于前段时间,程序偶尔异常挂起不工作,检查后发现时死锁了,原因就是:在信号处理函数里面调用了fprintf. printf等io函数是需要对输出缓冲区加锁,这类函数对本身是线程安全的,但是对信号处理函 ...

  8. Xshell的使用以及常用命令

    工具/原料 Xshell 方法/步骤 打开软件,点击新建,在主机哪里写入要访问的ip地址,名称随意 点击文件之后,再点击打开: 就可以看到刚才新建的会话了: 点击连接,就会显示下面的画面,输入用户名, ...

  9. 菜鸟系列Fabric——Fabric 1.2 多机部署(3)

    多机部署fabric kafka共识 1. 角色分配 主机1 主机 2 Org1 peer0 1 Org2 peer 0 1 Orderer 0 1 Orderer 2 kafka 0 1 kafka ...

  10. SpringMVC基础教程

    1. 最简单的配置 首先是要有相应的配置文件: 文件内容: <context:component-scan base-package="com.imethsoft.server.*&q ...