python元组取值_Python基础之元组

元组初识

元组的认识

首先,我们来认识一下元组:

# 定义一个元组

uesr_tuple = ("zhangsan", "lisi", "wangwu")

# 定义一个空元组

empty_tuple = ()

元组的作用和定义

通过前面的学习,我们知道,列表通常用来存储相同类型的数据;而元组在实际开发中,通常用来存储不同类型的数据。

元组(Tuple)与列表相似,不同之处在于元组的元素不能修改;

元组表示多个元素组成的序列;用于存储一串信息,不同数据之间用逗号隔开;

元组的索引从0开始;

元组的定义语法

变量名 = (数据1, 数据2, 数据3,...)

eg:

uesr_tuple = ("zhangsan", "lisi", "wangwu")

定义元组和取值

# 定义一个常规元组

user_tuple = ("xiaoming", 18, 175)

# 注意,取值时,索引不能超过元组的元素数量范围,否则报错

user_tuple[0]

'xiaoming'

user_tuple[2]

175

# 定义空元组;

empty_tuple = ()

type(empty_tuple) # tuple

# 定义一个单元素元组;

# 如果元组中只有一个数据,要在那一个数据后面加逗号,否则该元组变量会被python解释器认为是括号内数据的数据类型;

single_tuple = (5)

type(single_tuple) # int

single_tuple = (5,)

type(single_tuple) # tuple

元组的操作函数

查看元组操作函数

在ipython交互式下,新建一个元组empty_tuple;empty_tuple. 按一下tab键,即可查看元组函数

In [1]: t_tuple = ()

In [2]: t_tuple.

t_tuple.count t_tuple.index

In [2]: t_tuple.

由此可见,元组自带的操作函数只有两个:

t_tuple.count t_tuple.index

取值和取索引(index)

user_info = ("xiaoming", 20, 181, "xiaoming")

print(user_info[1]) # 10

# 已经知道元组内容,希望获取该内容在元组中的位置

# 如果有两个相同的数据,取索引会取出现的第一个

print(user_info.index("xiaoming")) # 0

统计计数(count,len)

user_info = ("xiaoming", 20, 181, "xiaoming")

# 使用元组自带的函数统计元素出现个数

print(user_info.count("xiaoming")) # 2

# 使用关键字 统计元组中的元素个数

print(len(user_info)) # 4

元组其他扩展

元组 循环遍历

元组遍历就是 从头到尾 依次从元组中取数据;

每次循环都将 从元组中顺序的读取出来的数据放在临时变量中,然后执行相同的操作。

使用for进行迭代遍历。

user_tuple = ["zhangsan", 20, 181]

for i in user_tuple:

# 因为通常元组的元素数据类型不同,所以一般很少遍历元组做操作,

# 除非确定元组中每一个元素的数据类型

print(i)

在Python中,可以使用for循环遍历所有非数字型类型的变量:列表,元组,字典以及字符串;

元组应用场景

函数的参数和返回值;一个函数可以接收任意多个参数,或者一次返回多个数据。

格式字符串,格式化字符串后面的()本质上就是一个元组。

保护数据安全,列表不能被修改。

元组和格式化字符串

格式化后面的括号和内容,本质上就是元组;我们可以先定义一个元组,然后在格式化后面%元组,一样能输出;

同时,我们甚至可以将print括号里面的函数拿出来,定义成一个变量,再用print输出。

# 四者的输出结果都一样

# zhangsan 的年龄是 20, 身高是 181

name = "zhangsan"

age = 20

height = 181

print("%s 的年龄是 %d, 身高是 %d" % (name, age, height))

userinfo = ("zhangsan", 20, 181)

print("%s 的年龄是 %d, 身高是 %d" % (userinfo[0], userinfo[1], userinfo[2]))

# 也可以这样玩

print("%s 的年龄是 %d, 身高是 %d" % userinfo)

# 还可以这样玩

info = "%s 的年龄是 %d, 身高是 %d" % userinfo

print(info)

元组和列表之间的转换

元组转列表:list()

列表转元组:tuple()

num_list = [2,1,4,3]

type(num_list) # list

num_tuple = tuple(num_list)

type(num_tuple) # tuple

num_list2 = list(num_tuple)

type(num_list2) # list

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

junit5和junit4_JUnit 5 –下一代JUnit的初步了解

junit5和junit42月初, JUnit 5(又名JUnit Lambda)团队发布了一个alpha版本。 由于JUnit 4是我工具箱中使用最多的项目之一,因此我认为值得一看下一个主要版本。 我试用了最新版本,并记下了我在这里发现值得注意的更改…

python进阶装饰器_老生常谈Python进阶之装饰器

函数也是对象要理解Python装饰器,首先要明白在Python中,函数也是一种对象,因此可以把定义函数时的函数名看作是函数对象的一个引用。既然是引用,因此可以将函数赋值给一个变量,也可以把函数作为一个参数传递或返回。同…

LeetCode 02.两数相加

原题链接 解题思路: 本题可以使用模拟法,从链表的结点中提取出val逐个相加,没有值取0。并且记录进位,每个节点只保留个位数,所以需要使用sum与10取模,如果最高位存在进位则需要在最后添加一个val为1的节点…

apache ignite_从In Memory Data Grid,Apache Ignite快速入门

apache igniteIMDG或内存数据网格不是内存中关系数据库,NOSQL数据库或关系数据库。 它是另一种软件数据存储库。 数据模型分布在单个位置或多个位置的许多服务器上。 这种分布称为数据结构。 这种分布式模型被称为“无共享”架构。 IMDG具有以下特征: 所…

bvp解算器是什么_那些学习了编程的中学生,为什么会更可能成功?

来源 | 异步当你看到这个题目,或许会想,这不是搞笑吗?众所周知,高等数学是编程的基础和前提,而说起程序编写员,在普通人眼里就是数学学霸的代名词,人们往往会把它和那些数学天才的名字联系在一起…

Leetcode 08. 字符串转换整数 (atoi)

原题链接 1.字符 0~~~~~9 分别对应整数 48~~~~~57 2.先过滤空白 3.确定前面所带的符号 4. long long res 0; res res * 10 str[k] - 0; 可以通过此方法从左到右高位逐个累加。 class Solution { public:int myAtoi(string str) {long long res 0;int k 0;while…

maven与spring_与Spring和Maven签约首个SOAP服务

maven与spring1.简介 在本教程中,我们将学习使用JAX-WS,Spring和Maven实施合同优先的SOAP服务应用程序。 这是使用合同优先还是代码优先方法的更多设计决定。 在开发基于SOAP的Web服务应用程序时使用应用合同优先的方法最显着的好处是,可以在…

如何维持手机电池寿命_充电小知识:你知道如何正确充电吗?这几种充电方式最损害电池...

目前基本上大部分人都至少有一部智能手机,智能手机基本上都需要每日一充,你的充电方式会不会损伤电池呢?有部分消费者认为要等到手机电量耗尽后再充电,还有人认为手机充电要充至100%才能拔下来,有人觉得充电宝等产品给…

【开放集检测】OpenGAN: Open-Set Recognition via Open Data Generation 论文阅读

文章目录 英语积累为什么使用GAN系列网络进行开放集检测摘要1. 前言2. 相关工作开集检测基于GAN网络的开集检测基于暴露异常数据的开集检测 3. OpenGAN3.1 公式建模3.1.1 二分类方法存在问题如何解决 3.1.2 使用合成数据存在问题如何解决 3.1.3 OpenGAN3.1.4 模型验证 3.2 先前…

LeetCode 27.移除元素

原题链接 /** lc appleetcode.cn id27 langcpp** [27] 移除元素标签:拷贝覆盖主要思路是遍历数组nums,每次取出的数字变量为num,同时设置一个下标ans在遍历过程中如果出现数字与需要移除的值不相同时,则进行拷贝覆盖nums[ans] n…

hotspot 默认 gc_默认HotSpot最大直接内存大小

hotspot 默认 gc在我以前的博客文章热点选项中的Java 8改进的文档 ,我写的误解围绕热点JVM非标准的默认设置选项 -XX:MaxDirectMemorySize 。 在本文中,我介绍了一种确定HotSpot JVM中“默认”最大直接内存大小的简单方法。 Java启动器的Java 8文档对-X…

python控制电脑休眠唤醒键_每当计算机从休眠状态唤醒时,都运行python脚本

我在python上编写了一个小脚本,该脚本从控制台调用命令行以使linux机器休眠(或在更改一个单词的情况下将其自身关闭),然后在一段时间后唤醒.通过watch命令一次又一次地调用该命令.import osimport timeos.system("watch -n 20 sudo rtcwake -u -s 10 -m mem")因此,在…

sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中

sso集成shiro介绍 单一登录(SSO)和相关令牌交换机制正在成为Web上不同环境中身份验证和授权的最常见方案,尤其是在迁移到云中时。 本文讨论了Keycloak与jBPM或Drools应用程序的集成,以便使用Keycloak上提供的所有功能。 Keycloak…

LeetCode 01. 两数之和

原题 分析: 1.根据题意,首先需要将要数据选择一个合适的 数据结构模型。 因为是对应相关联,所以我们选择unordered_map 2.因为是一组数,所以用数组 ,将数值与数组下标对应起来 3.已知两数之和,从数组第…

python中自带的模块_python中的模块详解

概念python中的模块是什么?简而言之,在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件。模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用&#xff0c…

剑指 Offer 51-----59

剑指 Offer 55 - I. 二叉树的深度 解题思路: class Solution { public:int maxDepth(TreeNode* root) {if(rootNULL)return 0;int lmaxDepth(root->left);int rmaxDepth(root->right);return (l>r?l:r)1;} };

jbpm 和 drools_jBPM和Drools工作台中的用户和组管理

jbpm 和 drools介绍 本文讨论了一项新功能,该功能允许使用集成在jBPM和Drools Workbenches中的直观友好的用户界面来管理应用程序的用户和组。 用户和组管理 在安装,设置和使用此功能之前,本文讨论了一些以前的概念,需要进一步理…

剑指 Offer 01-----20

剑指 Offer 03. 数组中重复的数字 解题思路,使用STL中的set,逐个读入vector中的每一个元素,使用set进行对比,如果set中存在会返回1,这时直接返回该元素即可;如果set中没有可以insert这个元素到set&#xf…

python filter函数中写none_Python3基础 filter 第一个参数为NONE时 结果只返回为True的对象...

Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""Author : 行初心Date : 18-9-23Blog : www.cnblogs.com/xingchuxinGitee : gitee.com/zhichengjiu"""def main():# 过滤器# 通过 过滤…

从事java编程技能要求_5道Java视频课程,提高您的编程技能

从事java编程技能要求作为Web开发人员,跟上技术知识可能会很棘手。 新技术似乎每天都在弹出,而基本技术也看到了重复迭代的浪潮,增加了新的功能。 Java开发人员应该做什么? 这是在线教育平台发挥作用的地方。 它们可以帮助您快速…