在编程语言中,以某种方式组合起来的数据元素集合称为数据结构,python中最基本的数据结构为序列(sequence,简写seq)
Python中序列类型包括字符串、列表、元组、集合、字典。但集合、字典不支持索引、切片、相加、相乘操作

1、 序列索引

序列中,每个元素都有自己的编号(索引)。从起始元素开始,索引值从0开始递增
Python支持索引值为负值,从右往左,从索引值-1开始,依次为-1、-2、…

>>> strs = 'chinese'
>>> strs[0]
'c'
>>> lists = [1, 2, 5]
>>> lists[1]
2
>>> lists[-1]
5

2、 序列切片

切片操作可以访问一定范围内的元素,生成一个新的序列

语法格式:sname[start : end : step]
sname:序列的名称;
start:切片的开始索引位置,也可不指定,默认为 0
end:切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;
step:每隔几个位置(包含当前位置)取一次元素,如果省略step 的值,则最后一个冒号可以省略

>>> strs = 'chinese'
>>> strs[0:7:1]
'chinese'
>>> strs[1:3]
'hi'
>>> strs[:3]
'chi'
>>> strs[::]
'chinese'
>>> strs[::2]
'ciee'

3、 序列相加

两种类型相同的序列使用“+”运算符做相加操作,会将两个序列进行连接,但不会去除重复的元素
类型相同的序列指的是同为字符串或同为列表或同为元组
>>> list1 = [1, 3, 5]
>>> list2 = [2, 4]
>>> list1 + list2
[1, 3, 5, 2, 4]

4、 序列相乘

使用数字 n 乘以一个序列会生成新的序列,内容为原来序列被重复 n 次的结果

与序列相关的内置函数

函数 描述
len(seq) 序列的长度
list(seq) 将序列转化为列表,不能将字典转换
str(seq) 将序列转化为字符串
sum(seq) 元素和,元素只能是数字
sorted(seq) 对元素进行排序
reversed(seq) 反向序列中的元素
>>> len(str1)
7
>>> list(str1)
['c', 'h', 'i', 'n', 'e', 's', 'e']
>>> str([1, 3, 5])
'[1, 3, 5]'
>>> sum([1, 3, 5])
9
>>> sorted([1, 5, 3, 2])
[1, 2, 3, 5]
# reverse参数为True降序,默认升序
>>> sorted([1, 5, 3, 2], reverse=True)
[5, 3, 2, 1]
>>> list(reversed([1, 3, 5]))
[5, 3, 1]

python笔记 - 序列(四)相关推荐

  1. python索引右往左_[Python笔记]序列(一)索引、分片

    Python包含6种内建序列:列表.元组.字符串.Unicode字符串.buffer对象.xrange对象. 这些序列支持通用的操作: 索引 索引是从0开始计数:当索引值为负数时,表示从最后一个元素( ...

  2. python的序列类型及其特点_Fluent Python 笔记——序列类型及其丰富的操作

    序列的分类 Python 标准库用 C 语言实现了丰富的序列类型的数据结构,如: 容器序列(能存放不同类型的数据):list.tuple.collections.deque 等 扁平序列(只容纳同一类 ...

  3. python笔记(四)

    1. 文件操作 file operation open(...)  打开一个文件返回一个流对象 open(file, mode='r', buffering=-1, encoding=None, er ...

  4. python 分数序列求和公式_Python分数序列求和,编程练习题实例二十四

    本文是关于Python分数序列求和的应用练习,适合菜鸟练习使用,python大牛绕行哦. Python练习题问题如下: 问题简述:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13 要 ...

  5. python慕课笔记_MOOC python笔记(三) 序列容器:字符串、列表、元组

    Python Python开发 Python语言 MOOC python笔记(三) 序列容器:字符串.列表.元组 容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器 ...

  6. 动手深度学习笔记(四十五)8.1. 序列模型

    动手深度学习笔记(四十五)8.1. 序列模型 8.1. 序列模型 8.1.1. 统计工具 8.1.1.1. 自回归模型 8.1.1.2. 马尔可夫模型 8.1.1.3. 因果关系 8.1.2. 训练 ...

  7. Python学习笔记第四十八天(NumPy 矩阵库(Matrix))

    Python学习笔记第四十八天 NumPy 矩阵库(Matrix) 转置矩阵 matlib.empty() numpy.matlib.ones() numpy.matlib.eye() numpy.m ...

  8. python基础学习[python编程从入门到实践读书笔记(连载四)]:数据可视化项目第15章

    文章目录 matplotlib初学 基础绘图用法 随机漫步 使用Plotly模拟掷骰子 matplotlib初学 基础绘图用法 import matplotlib.pyplot as pltsquar ...

  9. fluent python 第二版_Fluent Python 笔记(二):序列基础

    目录: 本篇开始总结 Python 基本的数据结构,大部分情况下,这些数据结构就已经够用了,不需要重复造轮子.首先是序列及其相关的操作. 序列(Sequence) 标准库中提供了很多序列类型,都是C实 ...

最新文章

  1. 一次DB2数据库连接失败(SQLSTATE=08001)的解决方法
  2. laravel mysql rand_laravel如何从mysql数据库中随机抽取n条数据(高性能) - Laravel学习网...
  3. python memory usage_Python Pandas Index.memory_usage()用法及代码示例
  4. laravel session redis 设置
  5. Codeforces Round #149 (Div. 2)【AK】
  6. @class #import辨析 #include
  7. Hive 外部表关联分区数据
  8. 优化 Tengine HTTPS 握手时间
  9. 最高的分数(信息学奥赛一本通-T1062)
  10. 【BZOJ1061】【codevs1803】志愿者招募,神奇建图费用流
  11. 前端工程师需要学习ps 吗_转行学习web前端开发,需要哪些工具和需要学习什么?...
  12. PAT (Basic Level) Practice1006 换个格式输出整数
  13. 传智播客 C/C++学习笔记 指针3 理解指针必须与内存四区相结合
  14. eBPF Internal: Instructions and Runtime | 凌云时刻
  15. Qt下的综合练习—汽车信息管理系统(一)主界面设计
  16. 武汉理工大学华夏学院计算机类,2015年武汉理工大学华夏学院招生专业代码
  17. java j2ee j2se_j2ee与j2se对比
  18. 微信小程序 - excel通过云函数导入云数据库
  19. linux下反向解析文件的权限应该是什么,Linux 下的DNS服务器中,反向解析文件的内容包括( )...
  20. 写论文工具:LaTex在线网站

热门文章

  1. Run Book Automation - RBA系统介绍
  2. 利用photoshop的动作功能实现图片批处理操作
  3. excel表格怎么调整行高和列宽_如何在微信推文中插入表格内容?
  4. c++益智小游戏《十步万度》
  5. pythonocc进阶学习:曲线拟合(插值 Interpolation/逼近 Approximation)
  6. 程序员不知道用什么开发工具?我来告诉你(有需要工具的小伙伴私聊我哦)
  7. 伪随机数与matlab随机数
  8. ZOJ 2833 Friendship
  9. 商业全能手:LEADTOOLS V22 【winlinux】双核出发Crack
  10. centos 7 Docker 安装及配置镜像加速