第4章 序列的应用

python的数据类型分为:空类型、布尔类型、数字类型、字节类型、字符串类型、元组类型、列表类型、字典类型、集合类型

在python中序列是一块用于存放多个值的连续内存空间。

python内置了5种序列分别是元组、列表、字典、集合、字符串

本章将介绍元组、列表、字典、集合四种序列类型,字符串将在第5章介绍。

4.1 序列

序列类型支持索引、切片、相加、相乘、判断;集合和字典不支持索引、切片、相加、相乘

# 字典不支持索引、切片、相加、相乘
dict1 = {"year":2020,"month":06,"day":21}
dict2 = {"week":"sunday"}
# 索引
print(dict1[0])
KeyError: 0
# 切片
print(dict1[1:])
TypeError: unhashable type: 'slice'
# 相加
print(dict1 + dict2)
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
# 相乘
print(dict1 * dict2)
TypeError: unsupported operand type(s) for *: 'dict' and 'dict'

1、索引

序列中每一个元素都有一个编号,称为索引。正序下标从0开始,逆序下标从-1开始。

sname[下标]
# 定义列表
list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1[0])
print(list1[-1])
# 定义元组
tuple1 = ("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1[0])
print(tuple1[-1])

2、切片

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

sname[start:end:step:]
参数说明:
sname:表示序列的名称
start:表示切片的开始位置
end:表示切片的截止位置
step:表示切片的步长
# 定义列表
list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1[0:7:1])
print(list1[0:7:2])
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
['Monday', 'Wednesday', 'Friday', 'Sunday']
# 定义元组
tuple1 = ("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
print(tuple1[0:7:1])
print(tuple1[::-1])
('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
('Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday')

3、相加

支持两种相同类型的序列进行相加(连接操作),序列中的元素类型可以不同,相加的结果中不会去除重复的元素。

list1 = ["Monday","Tuesday","Wednesday","Thursday","Friday"]
list2 = ["Saturday","Sunday"]
print(list1+list2)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

4、相乘

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

emptylist = [None]*5
print(emptylist)
[None, None, None, None, None]

5、检查某个元素是否是序列的成员

value in sequence
参数说明
value表示要检查的元素,
sequence表示指定的序列

返回结果是布尔值:True、False

# 定义列表
countrylist = ["中国","美国","日本"]
print("中国" in countrylist)
# 定义字典
countrydict = {"中国": "china", "美国": "American", "日本": "Japan"}
print("中国" in countrydict)
print("china" in countrydict.values())
True
True
print(countrydict.values())
dict_values(['china', 'American', 'Japan'])
print(countrydict.keys())
dict_keys(['中国', '美国', '日本'])
print(countrydict.items())
dict_items([('中国', 'china'), ('美国', 'American'), ('日本', 'Japan')])

6、计算序列的长度、最大值、最小值

内置函数 功能
len() 长度
max() 最大值
min() 最小值
list() 将序列转换为列表
str() 将序列转换为字符串
sum() 计算元素和
sorted() 对元素进行排序
reversed() 反向序列中的元素

敬请关注个人微信公众号:测试工匠麻辣烫

Python3笔记016 - 4.1 序列的更多相关文章

  1. (2)Python3笔记 数据类型之"组"(序列) 与 集合

    一. list [ 列表 ] ---- 任意数据类型的有序排列 1. list 操作类似 str操作 (参考上一节字符串操作) [1,2,3,4] [1,2,'a', True, [2,'b']]   ...

  2. python3笔记目录大纲汇总

    篇一.python3基础知识和语句 python3笔记一:python基础知识 python3笔记二:进制转换与原码反码补码 python3笔记三:运算符与表达式 python3笔记四:if语句 py ...

  3. STL源码剖析读书笔记--第四章--序列式容器

    1.什么是序列式容器?什么是关联式容器? 书上给出的解释是,序列式容器中的元素是可序的(可理解为可以按序索引,不管这个索引是像数组一样的随机索引,还是像链表一样的顺序索引),但是元素值在索引顺序的方向 ...

  4. 小甲鱼Python3笔记

    000-愉快的开始 入门容易,学习难,代码量少. 跨平台: Windows, Mac OS, Linux, UNIX. 应用领域: 操作系统 WEB 3D动画 企业应用 云计算等等. 001-我和Py ...

  5. DeepLearning.ai学习笔记(五)序列模型 -- week1 循环序列模型

    一.为什么选择序列模型 序列模型可以用于很多领域,如语音识别,撰写文章等等.总之很多优点... 二.数学符号 为了后面方便说明,先将会用到的数学符号进行介绍. 以下图为例,假如我们需要定位一句话中人名 ...

  6. DeepLearning.ai学习笔记(五)序列模型 -- week2 序列模型和注意力机制

    一.基础模型 假设要翻译下面这句话: "简将要在9月访问中国" 正确的翻译结果应该是: "Jane is visiting China in September" ...

  7. Python3笔记——常用技术点汇总

    目录 · 概况 · 安装 · 基础 · 基础语法 · 数据类型 · 变量 · 常量 · 字符编码 · 字符串格式化 · list · tuple · dict · set · if语句 · for语句 ...

  8. Python3 笔记

    Ubuntu18.04 Python3环境 默认python3已经安装了, 可能是安装其他应用的时候因为依赖关系安装的. 安装pip3, 先sudo apt update 一下, apt-cache ...

  9. python3笔记

    python3 Python3 基本数据类型 Python 中有六个标准的数据类型: Numbers(数字) Python可以同时为多个变量赋值,如a, b = 1, 2. 一个变量可以通过赋值指向不 ...

随机推荐

  1. Java中环境变量PATH与CLASSPATH的区别

    在安装JDK时需要添加环境变量,经常使用的环境变量有两个: PATH与CLASSPATH 下面总结一下环境变量的作用. PATH是系统用来指定可执行文件的完整路径.当在CMD中执行命令时,如果执行的可 ...

  2. java实现第七届蓝桥杯剪邮票

    剪邮票 题目描述 如[图1.jpg], 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连) 比如,[图2.jpg],[图3.jpg]中,粉红色所 ...

  3. Java实现第八届蓝桥杯方格分割

    方格分割 题目描述 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算: 包括这3种分法在内,一共 ...

  4. Liunx常用运维命令整理记录

    前言 作为后端开发者,掌握一些常用的运维命令也是很有必要的,本文记录常用Liunx运维命令 基本命令 目录切换 cd base-admin/ 切换到当前目录下的base-admin目录 cd .. 切 ...

  5. Java创建ES索引实现

    1.pom.xml文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...

  6. pyhon的浅拷贝与深拷贝

    1.赋值:简单地拷贝对象的引用,两个对象的id相同. 2.浅拷贝:创建一个新的组合对象,这个新对象与原对象共享内存中的子对象. 3.深拷贝:创建一个新的组合对象,同时递归地拷贝所有子对象,新的组合对象 ...

  7. 在CentOS下利用Docker一键安装seafile

    https://cloud.seafile.com/published/seafile-manual-cn/docker/pro-edition/%E7%94%A8Docker%E9%83%A8%E7 ...

  8. [每日一题2020.06.08]洛谷P1605 DFS

    今天cf又杯具的只写出2题, 虽然AB题20分钟左右就搞定了, 但是CD写了2个小时也没写出来 D题我用到了DFS, 虽然必不正确, 但是我至少发现了一个问题, 那就是我连DFS都忘了, 于是怒找DF ...

  9. rust 编码模式

    ➜ hello_cargo git:(master) ✗ rustc --print code-models Available code models: small kernel medium la ...

  10. Idea 快捷生成类注释与方法注释

    这篇博客应该在刚使用IDEA 的时候就写了.  但是一直忘了.  今天使用新的api 接口文档生成工具 JApiDocs  的时候,看其上面有编码规范, 注释规范. 就想起了IDEA 类中, 方法中快 ...