python基础教程之序列详解

 更新时间:2014年08月29日 09:41:39   作者:Vamei  
这篇文章主要介绍了python基础教程之序列详解,本文的序列包含元组(tuple)、列表(list)等数据类型,需要的朋友可以参考下

sequence 序列

sequence(序列)是一组有顺序的元素的集合

(严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素)

序列可以包含一个或多个元素,也可以没有任何元素。

我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。

序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)

复制代码 代码如下:

>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False)         # s1是一个tuple

>>>s2 = [True, 5, 'smile']                          # s2是一个list

>>>print s1,type(s1)

>>>print s2,type(s2)


tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。

一个序列作为另一个序列的元素

复制代码 代码如下:

>>>s3 = [1,[3,4,5]]

空序列
复制代码 代码如下:

>>>s4 = []

 
元素的引用

序列元素的下标从0开始:

复制代码 代码如下:

>>>print s1[0]

>>>print s2[2]

>>>print s3[1][2]


由于list的元素可变更,你可以对list的某个元素赋值:
复制代码 代码如下:

>>>s2[1] = 3.0

>>>print s2


如果你对tuple做这样的操作,会得到错误提示。

所以,可以看到,序列的引用通过s[<int>]实现, int为下标

其他引用方式

范围引用: 基本样式[下限:上限:步长]

复制代码 代码如下:

>>>print s1[:5]             # 从开始到下标4 (下标5的元素 不包括在内)

>>>print s1[2:]             # 从下标2到最后

>>>print s1[0:5:2]          # 从下标0到下标4 (下标5不包括在内),每隔2取一个元素 (下标为0,2,4的元素)

>>>print s1[2:0:-1]         # 从下标2到下标1


从上面可以看到,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。

尾部元素引用

复制代码 代码如下:

>>>print s1[-1]             # 序列最后一个元素

>>>print s1[-3]             # 序列倒数第三个元素


同样,如果s1[0:-1], 那么最后一个元素不会被引用 (再一次,不包括上限元素本身)

 字符串是元组

字符串是一种特殊的元素,因此可以执行元组的相关操作。

复制代码 代码如下:

>>>str = 'abcdef'

>>>print str[2:4]


 
总结

tuple元素不可变,list元素可变

序列的引用 s[2], s[1:8:2]

字符串是一种tuple

相关文章

  • python3+PyQt5实现自定义流体混合窗口部件

    python3+PyQt5实现自定义流体混合窗口部件

    这篇文章主要为大家详细介绍了python3+PyQt5实现自定义流体混合窗口部件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 在Django的URLconf中使用多个视图前缀的方法

    在Django的URLconf中使用多个视图前缀的方法

    这篇文章主要介绍了在Django的URLconf中使用多个视图前缀的方法,Django是Python中最为著名的遵循MVC结构的开发框架,需要的朋友可以参考下
    2015-07-07
  • Python调用.net动态库实现过程解析

    Python调用.net动态库实现过程解析

    这篇文章主要介绍了Python调用.net动态库实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python rstrip()方法实例详解

    Python rstrip()方法实例详解

    这篇文章主要介绍了Python rstrip()方法,包括rstrip方法的语法介绍和参数类型,需要的朋友可以参考下
    2018-11-11
  • 使用python编写一个语音朗读闹钟功能的示例代码

    使用python编写一个语音朗读闹钟功能的示例代码

    这篇文章主要介绍了使用python编写一个语音朗读闹钟,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Python双向链表插入节点方式

    Python双向链表插入节点方式

    这篇文章主要介绍了Python双向链表插入节点方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python用 matplotlib 绘制柱状图

    Python用 matplotlib 绘制柱状图

    这篇文章主要介绍了Python如何用 matplotlib 绘制柱状图,文章对matplotlib模块中详细学习绘制各种柱状图标相关属性和方法,在遇到需要直观展示离散数据点的差异时,我们可以使用bar()或者barh()绘制美观的图表。具有一定的参考价值,需要的朋友可以参考一下
    2021-12-12
  • python私有属性和方法实例分析

    python私有属性和方法实例分析

    这篇文章主要介绍了python私有属性和方法的用法,实例分析了python私有属性和方法的原理及具体使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • 总结几个非常实用的Python库

    总结几个非常实用的Python库

    Python一直被自称“batteries included”,就是因为内置了许多非常有用的模块,无需额外安装和配置,即可直接使用. 除了内建的模块外,Python还有大量的第三方模块,直接使用pip安装即可使用.下面给大家简单介绍几个Python非常实用的自带库和第三方库,需要的朋友可以参考下
    2021-06-06
  • Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)

    Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)

    Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。
    2008-09-09

最新评论