元组的使用 | 学习笔记

简介: 快速学习 元组的使用

开发者学堂课程【Python入门 2020年版元组的使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10308


元组的使用


内容介绍

一、学习目标

二、元组的使用

三、元组相关的方法


一、学习目标

能够定义和查找元组

能够说出字典的特点

能够对字典进行增蒯改查。

能够说出集合的特点

能够对集合进行增删改查

能够使用通用方法操作字符串、列表、元组、字典、集合


二、元组的使用

1.概念

元组和列表很像,都是用来保存多个数据。有多个数据需要保存时刻使用元组或列表

2.  使用

使用一对小括号()来表示元组

3.  元组和列表的区别

列表是可变的,而元组是不可变数据类型。元组和列表十分类似,它也是一个有序的存储数据的容器,因为有序的同时所以可以通过下标来获取元素。假设输出元组 nums 的第三个数据,输出结果为3

代码

words = ['hello', 'yes ', 'good', 'hi' ] #表示列表,使用[]表示

nums = (9,43176) #表示元组,使用()来表示


三、元组相关的方法

1.通过下标获取元素

l  代码

words = ['hello', 'yes ', 'good', 'hi' ] #表示列表,使用[]表示

nums = (943176) #表示元组,使用()来表示

print(nums[3]) //输出 nums 的第四个元素1

输出结果

1

2.增加修改元素

但不可修改和增加元组中的数,因为元组是不可变类型。

代码

nums = (943176)  #表示元组,使用()来表示

print(nums[3])  //输出 nums 的第四个元素1

nums[3]=40    会报错,因为元组是不可变数据,因而不可修改

输出结果

1.png

3.查询元素

元组中也有 index 方法,按住 ctrl 查看方法可以知道方法的属性。它可以使用 index 方法查询元组中下标所对应的元素。如 nums.index7)即查询 nums 中下标为7的元素。同时元组还有 count 方法用于统计数值出现的次数。

1.png

代码

#表示列表,使用[]表示

words = ['hello', 'yes ', 'good', 'hi' ]

#表示元组,使用()来表示

nums = (9431976939)

print(nums[3])  //输出 nums 的第四个元素1

print(nums.index(7))  //输出元组 nums 中下标为7的元素

print(nums.count(9))  //输出元组 nums 9出现的次数

输出结果

1

5  

4

2.  表示一个元素的元组

特殊情况:若要表示一个元素的元组,不能直接在()中写一个元素,这样的输出结果类型表示的是整数。应在元素后加上逗号‘,’才表示元组。(1)错误写法

代码

ages=(18)       #这种书写方式,ages是一个整数,并不是一个元组

Print(type(ages))  #输出的类型为<class ‘int’>

输出结果

<class ‘int’>

(2)正确写法

代码

ages=(18)  #如果元组里只有一个元素,要再最后加一个逗号,        

print(type(ages))

输出结果

<class ‘tuple’>

同时 print(tuple(18))的写法是错误的。tuple 表示内置类。在方法中我们可以看到 tuple 前有个 c,表示 class 内置类的含义,并非我们自己写的。内置类在创建的时候会说明需要什么类型的数据。

1.png

我们可以看出,tuple 需要数据的是一个可迭代的对象,但 tuple(18)中的18是数字,并非一个可迭代的对象,但如果变为 tuple(hello)即可。

输出结果会把 hello 一个个拆开变为元组。因为字符串是一个可迭代对象,它就会将其变为一个一个的字符。

1.png

代码

print(tuple(‘hello’)

输出结果

‘h’,’e’,’l’,’l’,’o’

2.  列表和元组的互换

要实现列表和元组的互换,现有一个列表 word,我们使用 tuple(要转换都列表名)将其转换为元组,tuple需要一个可迭代对象,所以我们将列表放进去

之后将每个元素拆开再变为元组。要将元组变为列表即使用 list(要转换的元组名)即可。

1)列表变为元组

代码

words = ['hello', 'yes ', 'good', 'hi' ] #tuple list set 都是这样使用

print(tuple(words))//将列表 words 转化成元组

输出结果

'hello', 'yes ', 'good', 'hi' //变为元组

2)元组变为列表

代码

nums = (9431976939)

print(list(nums))  //将元组 nums 转换为列表

l  输出结果

[9431976939]  //变为列表

3.  join 的使用

join 的使用其中必须为字符串此类的可迭代对象,不可是数字。与此同时和他是元组和列表并没有关系。Join 的作用就是将每个元素拿出来然后用所给的连接符(“”中即连接符)连接。如要将’h’,’e’,’l’,’l’,’o’连接起来变为 hello,只需把连接符设置为“”即可。同理为“_”是则会输出为 h_e_l_l_o

代码

heights = (“189”,”174”,”170”)

print(‘*’.join(heights))

//heights 每个元素拿出来然后用*连接符连接

print(“”.join((’h’,’e’,’l’,’l’,’o’)))

输出结果

189*174*170

Hello

4.  元组的遍历

元组也可以进行遍历,只需使用 for...in 循环即可。除此之外还可以使用 while 循环。

1for...in 循环

代码

nums = (9431976939)

for i in nums

输出结果

9

4

3

1

9

7

6

9

3

9

2while 循环

代码

nums = (9431976939)

j=0

While j< len (nums):

j += 1

l  输出结果

9

4

3

1

9

7

6

9

3

9

相关文章
|
存储 弹性计算 Kubernetes
自建K8S通过PVC配置NAS动态磁盘要点回顾
在K8S上如何配置永久性PVC是大家在生产环境中比较关心的话题,那么如果通过阿里云的NAS来结合进行永久性磁盘的配置呢?本文通过其详细步骤和要点把成功配置的方法给大家做一个分享。本文不做理论性阐述,纯实战,有不严谨之处还望评论指正。
1688 0
自建K8S通过PVC配置NAS动态磁盘要点回顾
|
8月前
|
存储 人工智能 Serverless
阿里云《AI 剧本生成与动画创作》技术解决方案测评
本问是对《AI 剧本生成与动画创作》的用心体验。结论不是特别理想,在实际使用中仍存在一些问题。
329 22
|
JavaScript
vue3- antd design vue 引入iconfont
vue3- antd design vue 引入iconfont
|
Java Spring
从@Async案例找到Spring框架的bug:exposeProxy=true不生效原因大剖析+最佳解决方案【享学Spring】(上)
从@Async案例找到Spring框架的bug:exposeProxy=true不生效原因大剖析+最佳解决方案【享学Spring】(上)
|
存储 负载均衡 监控
关系型数据库搭建高可用存储集群
【5月更文挑战第4天】关系型数据库搭建高可用存储集群
248 4
关系型数据库搭建高可用存储集群
|
小程序 JavaScript 前端开发
uni app 入门
uni app 入门
269 2
|
11月前
|
容器
Flutter下拉刷新上拉加载的简单实现方式一
Flutter下拉刷新上拉加载的简单实现方式一
326 2
|
Linux 存储
24. 【Linux教程】挂载
24. 【Linux教程】挂载
251 0
|
前端开发 JavaScript 开发者
【前端革新力】React与CSS-in-JS完美邂逅:从styled-components到emotion,全面解析样式管理新趋势的实战应用与优势剖析!
【8月更文挑战第31天】CSS-in-JS 作为一种新兴的样式管理方式,近年来在前端社区受到广泛关注。它将样式嵌入 JavaScript,实现了样式与逻辑的高度耦合,提升了开发效率并解决了全局样式污染等问题。本文通过具体代码示例,探讨 CSS-in-JS 在 React 开发中的应用,并分享实践心得。首先介绍了 CSS-in-JS 的基本概念,然后详细展示了如何使用 styled-components 和 emotion 这两个流行库创建样式化组件。
641 0
|
网络协议 物联网 Java
Go与Java:在物联网领域的适用性分析
本文对比分析了Go和Java在物联网领域的适用性。Go语言因其轻量级、高效和并发特性,适合资源受限的物联网设备,特别是处理并发连接和数据流。Java则凭借跨平台性、丰富的生态系统和企业级应用能力,适用于大型物联网系统和复杂业务场景。两者在物联网领域各有优势,开发者可根据项目需求选择合适的语言。