数据类型详解-元组笔记

数据类型详解-元组

元组和列表一样都是一组有序的数据的组合。

元组中的元素一但定义不可以修改,因此元组称为 不可变数据类型

元组定义

  • 定义空元组 变量 = (),或者 变量=tuple()
  • 还可以使用 变量 = (1,2,3) 定义含有数据的元组
  • 注意:如果元组中只有一个元素时,必须加逗号 变量=(1,)
  • 特例:变量=1,2,3 这种方式也可以定义为一个元组

元组的相关操作

由于元组是不可变的数据类型,因次只能使用索引进行访问,不能进行其它操作

元组可以和列表一样使用切片方式获取元素

元组的切片操作

元组的切片操作 和列表是一样的

vart = (1,2,3,4,5,5,4,3,2,1)
res = vart[:]  # 获取全部
res = vart[::] # 获取全部
res = vart[1:] # 从索引1开始获取到最后
res = vart[1:3] # 从索引1开始到索引3之前
res = vart[:3]   # 从索引 0 开始 到 索引 3之前
res = vart[1:5:2] # 从索引1开始到索引5之前,步进值为2
res = vart[::2]  # 从索引 0 开始 到 最后 ,步进值为2
res = vart[5:1:-1] # 从索引5开始 到索引 1,步进值为-1  倒着输出

元组推导式 生成器

列表推导式结果返回了一个列表,元组推导式返回的是生成器

语法:
    列表推导式 ==> [变量运算 for i in 容器]  ==> 结果 是一个 列表
    元组推导式 ==> (变量运算 for i in 容器)  ==> 结果 是一个 生成器

生成器是什么?

生成器是一个特殊的迭代器,生成器可以自定义,也可以使用元组推导式去定义

生成器是按照某种算法去推算下一个数据或结果,只需要往内存中存储一个生成器,节约内存消耗,提升性能

语法:

  1. 里面是推导式,外面是一个() 的结果就是一个生成器

  2. 自定义生成器,含有yield关键字的函数就是生成器

    含有yield关键字的函数,返回的结果是一个迭代器,换句话说,生成器函数就是一个返回迭代器的函数

如何使用操作生成器?

​ 生成器是迭代器的一种,因此可以使用迭代器的操作方法来操作生成器

示例代码:

# 列表推导式
varlist = [1,2,3,4,5,6,7,8,9]
# newlist = [i**2 for i in varlist]
# print(newlist) # [1, 4, 9, 16, 25, 36, 49, 64, 81]

# 元组推导式 生成器 generator
newt = (i**2 for i in varlist)
print(newt) # <generator object <genexpr> at 0x1104cd4d0>

# 使用next函数去调用
# print(next(newt))
# print(next(newt))

# 使用list或tuple函数进行操作
# print(list(newt))
# print(tuple(newt))

# 使用 for 进行遍历
# for i  in newt:
#     print(i)
Image placeholder
猪_LGuBAo
未设置
  0人点赞

没有讨论,发表一下自己的看法吧

推荐文章
数据类型详解-字符串笔记

数据类型详解-字符串 回顾字符串的定义方式 了解转义字符 字符串相关的操作 字符串格式化的方法 字符串相关函数 字符串的定义方式 单引号定义字符串‘’ 双引号定义字符串“” 三引号定义字符串‘’

数据类型详解-列表笔记

数据类型详解-列表 列表就是一组有序的数据组合,列表中的数据可以被修改 列表的定义 可以使用中括号进行定义[] 也可以使用list函数定义 在定义列表中的元素时,需要在每个元素之间使用逗号,进行分

Go 语言数据类型:字符类型

字符类型 字符基本输入与输出 所谓字符类型是用单引号括起来的单个字符,关于字符的定义使用如下: funcmain(){ //声明变量 varchbyte//声明字符类型 chbyte='a'//单引号

golang基础语法,定义函数类型 为已存在的数据类型起别名

课程推荐:GO开发工程师--学习猿地精品课程 在GO语言中还有另外一种定义使用函数的方式,就是函数类型,所谓的函数类型就是将函数作为一种类型可以用来定义变量,这种用法类似于前面我们讲过的int,flo

JavaScript数据类型笔记

toString()方法可以转换除了null和undefined,使用String()可以将null与undefined转换成字符串.

数据类型转换及常量笔记

var_dump() var_dump();该功能可以直接将数据的值和类型显示出来 优点:既可以查看变量类型也可以查看值 缺点:类型和值的结果无法被接收,后续代码无法使用 gettype() 获

MySQL中的数据类型笔记

一,MySQL的数据类型 数据类型是定义列中可以存储什么类型的数据以及该数据实际怎样存储的基本规则 数据类型限制存储在数据列列中的数据。例如,数值数据类型列只能接受数值类型的的数据 在设计表时,应该特

Java的各种数据类型对象库的处理应用笔记

父类不能调用子类独有的方法,需要调用要进行强制类型转换。

JS 中一定要了解的数据类型和数据转换

数据类型 前言 Js中的类型只有6种,其中基本数据类型有5种分别为string,number,boolen,null,undefined,引用类型有一种,就是object,object是一个大的综合

JS 中一定要了解的数据类型和数据转换

Js数据类型 前言 Js中的类型只有6种,其中基本数据类型有5种分别为string,number,boolen,null,undefined,引用类型有一种,就是object,object是一个大的

Python教程-强制数据类型转换

数据类型转换分为两种,一种是自动数据类型转换(隐式)和强制数据类型转换(显式)原则上不同的数据之间无法进行运算,自动数据类型转换是程序自发的行为,比如在运算时(或判断时)。在需要的情况下进行的操作

Go编程语言教程_2.2. Go中的数据类型

数据类型指定有效的Go变量可以保存的数据类型。在Go语言中,类型分为以下四类: 基本类型:数字,字符串和布尔值属于此类别。 聚集类型:数组和结构属于此类别。 引用类型:指针,切片,地图,函数和通道属于

Number数据类型

数据类型:Number,String,List,Tuple,Set,DictNumber:int,float,bool,complexint声明变量时常用二进制,八进制,十进制以及十六进制如何声明二进

List、Tuple、Set、Dict数据类型

List声明:[]访问列表数据:变量[n]n表示列表中数据的位置编号。修改列表数据:变量[n]=数据则可以替换原本位于n-1位置的数据。 Tuple声明:()元组与列表不同之处在于其中数据不可修改。访

数据类型转换

只有容器类数据才能转换为容器类数据。非容器类数据无法朝着容器类数据转换,因为无法进行迭代。 dict转为列表时仅保留键会舍弃值。转为元组享有和转为列表相同的特征。 转为set时会进行去重的操作,并且为

数据类型的分类

点击下方截图可插入当前视频播放画面,了解更多Mackdown语法可以点击上方?图标

python数据类型

1.string字符串类型 字符串是通过单引号、双引号或三引号进行定义的; 单、双引号定义字符串不能随意换行,需要在换行时指明换行符; 字符串中的引号可以互相嵌套,但不能嵌套自己(例如不能再单引号中

2019年度IT168技术卓越奖名单:大数据类

随着对数据价值的不断挖掘,以及全球各地区政府的政策支持,大数据市场呈现出一片欣欣向荣的发展态势。IDC在其几个月前发布的报告中曾预测,2019年全球大数据与商业分析解决方案市场的整体收益将达到1896

HTML新增类型及标签笔记

placeholder属性:提示用户输入的信息multiple可以再email中输入多个邮箱地址,使用','隔开autofocus自动获取焦点required防止域为空

HTML新增类型及标签笔记

新增属性 multiple多个提交emailplaceholder显示提示信息autofocus焦点required必填minlengthmaxlength长度限制minmax 新增type emai

HTML新增类型及标签笔记

header头部nav导航section节aside侧边footer页脚article文章figure元素组合图片与图片描述组合figcaption details文档与文档细节Summary定义标题

详解数据服务共享发布

引言:随着云计算、大数据、物联网等技术兴起,数据朝着多样性、高体量、高速度方向发展,如何将海量数据安全、稳定、高效地数据共享出去成为各企业关注的重点。本次微课堂通过普元在数据服务共享平台研发过程中的实