pythontuple数据类型_数据类型-元组Tuple

Python Tuple用于存储不可变python对象的序列。元组类似于列表,因为可以改变列表中存储的项的值,而元组是不可变的,并且不能改变存储在元组中的项的值。

元组可以写成用小括号括起来的逗号分隔值的集合。元组可以定义如下。T1 = (101, "Ayush", 22)

T2 = ("Apple", "Banana", "Orange")

例1tuple1 = (10, 20, 30, 40, 50, 60)

print(tuple1)

count = 0

for i in tuple1:

print("tuple1[%d] = %d"%(count, i));

输出:(10,20,30,40,50,60)

tuple1 [0] = 10

tuple1 [0] = 20

tuple1 [0] = 30

tuple1 [0] = 40

tuple1 [0] = 50

tuple1 [0] = 60

例2tuple1 = tuple(input("Enter the tuple elements ..."))

print(tuple1)

count = 0

for i in tuple1:

print("tuple1[%d] = %s"%(count, i));

输出:

Enter the tuple elements ...12345

('1', '2', '3', '4', '5')

tuple1[0] = 1

tuple1[0] = 2

tuple1[0] = 3

tuple1[0] = 4

tuple1[0] = 5

但是,如果我们尝试重新分配元组的项目,元组会报错误,因为元组对象不支持项目分配。

元组是不可变数据类型

空元组可以写成如下。T3 = ()

具有单个值的元组必须包含下面给出的逗号。T4 = (90,)

元组的索引方式与列表相同。可以使用特定索引值访问元组中的项。

元组索引和拆分

元组中的索引和切片类似于列表。元组中的索引从0开始并转到长度(元组) - 1。

可以使用切片运算符访问元组中的项。Python还允许我们使用冒号运算符来访问元组中的多个项目。

通过以下图像以详细了解索引和切片。

1ec1c9f46449d5f85558ff663f2aaeba.png

与列表不同,使用del关键字无法删除元组项,因为元组是不可变的。要删除整个元组,我们可以将del关键字与元组名称一起使用。

请学习以下示例。tuple1 = (1, 2, 3, 4, 5, 6)

print(tuple1)

del tuple1[0]

print(tuple1)

del tuple1

print(tuple1)

输出:

(1, 2, 3, 4, 5, 6)

Traceback (most recent call last):

File "tuple.py", line 4, in 

print(tuple1)

NameError: name 'tuple1' is not defined

与列表一样,可以在两个方向上访问元组元素。可以使用索引-1访问元组的最右边元素(最后一个)。使用负索引遍历从左到右的元素。tuple1 = (1, 2, 3, 4, 5)

print(tuple1[-1])

print(tuple1[-4])

输出:

5

2

基本元组操作

连接(+),重复(*),成员(in)等运算符的工作方式与它们使用列表的方式相同。请考虑下表以获取更多详细信息。

假设Tuple t =(1,2,3,4,5)和Tuple t1 =(6,7,8,9)。

运算符描述示例

重复重复运算符使元组元素重复多次。T1 * 2   =(1,2,3,4,5,1,2,3,4,5)

级联它连接运算符两侧提到的元组。T1 + T2   =(1,2,3,4,5,6,7,8,9)

in如果元组中存在特定项,则返回true,否则返回false。print (2 in T1)

True.

迭代for循环用于迭代元组元素。for i in T1:

print(i)

输出:

1

2

3

4

5

长度它用于获取元组的长度。len(T1)= 5

Python Tuple内置函数

SN函数描述

1cmp(tuple1, tuple2)比较两个元组元素。

2len(tuple)计算元组元素个数。

3tuple(seq)将列表转换为元组。

4min(tuple)返回元组中元素最小值。

5max(tuple)返回元组中元素最大值。

哪里使用元组

在以下场景中使用元组而不是列表。

1.使用元组而不是列表让我们清楚地知道元组数据是常量且不得更改。

元组可以在没有键的情况下模拟字典。考虑以下嵌套结构,它可以用作字典。

[(101, "John", 22), (102, "Mike", 28),  (103, "Dustin", 30)]

由于其不可变性,元组可以用作字典中的键。

列表与元组的对比

SN列表List元组Tuple

1列表的文字语法由[]显示。元组的文字语法由()显示。

2列表是可变的。元组是不可变的。

3列表具有可变长度。元组具有固定长度。

4该列表提供了比元组更多的功能。元组提供的功能少于列表。

5列表用于我们需要存储简单集合而没有约束的场景中,其中可以更改项的值。元组用于我们需要存储只读集合的情况,即,项目的值不能更改。它可以用作字典中的键。

嵌套列表和元组

我们可以将列表中的元组或元组内的列表存储到任意级别。

让我们看一个如何将元组存储在列表中的示例。Employees = [(101, "Ayush", 22), (102, "john", 29), (103, "james", 45), (104, "Ben", 34)]

print("----Printing list----");

for i in Employees:

print(i)

Employees[0] = (110, "David",22)

print();

print("----Printing list after modification----");

for i in Employees:

print(i)

输出:----Printing list----

(101, 'Ayush', 22)

(102, 'john', 29)

(103, 'james', 45)

(104, 'Ben', 34)

----Printing list after modification----

(110, 'David', 22)

(102, 'john', 29)

(103, 'james', 45)

(104, 'Ben', 34)

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

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

相关文章

xposed模块编写教程_太极xposed模块使用教程

今天给大家分享一下太极xposed模块使用教程。很多小伙伴说下载不到Xposed模块,这个网上其实很多,但是第三方的下载站就算了吧。我也是一个深受其害的网瘾少年,只要是下载站的软件,一不留心一次性电脑可能会多安装好多个软件&#…

linux + nginx + mysql + php 百度网盘_5.LNMP(Linux + Nginx + MySQL + PHP)环境安装

1.安装Nginx:yum install yum-priorities -ywget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpmrpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpmyum -y install nginxsystemctl start nginx.servicesystemctl stop ngin…

mysql item_MySQL源代码:关于MySQL的Item对象

前篇介绍了MySQL如何从SQL语句转换成一个内部对象。本文是前篇的延续,将更加详细的介绍WHERE语句对应的Item对象。1. Item对象MySQL InternalMySQL Internals Manual较为详细的介绍了Item对象。Item对象经常被称作"thingamabob"(A thingamabob is a noun …

mysql的实现类注解_Mybaits (XML方式:无需在写Dao的实现类 注解方式:Dao的实现类与Mapper都可以不写 重点理解)...

Maven的pom.xml 坐标配置4.0.0Mybatis_mavenday01_mbatis1.0-SNAPSHOTjarorg.mybatismybatis3.4.5mysqlmysql-connector-java5.1.45junitjunit4.12testorg.apache.maven.pluginsmaven-compiler-plugin2.3.21.81.8UTF-8mybatis的配置文件/p>PUBLIC "-//mybatis.org//DTD…

前后分离接口规范

前后分离接口规范 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕…

MySQL吉连_Learn Jdbc : Java, Jdbc, Odbc

Learn Jdbc : Java, Jdbc, Odbc 介绍Learn Jdbc : Java, Jdbc, OdbcLearn JDBC we precisely name what we are going to help you for Learning.As you are Beginner we keep in mind the same thing,we think like you and try to Build Apps Like Java Deep Learning,Java B…

java五子棋源代码_java 五子棋游戏源码

【实例简介】【实例截图】【核心代码】package game;import java.applet.Applet;import java.applet.AudioClip;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Container;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.even…

java图形用户登录界面_Java简单登录图形界面

一.登录界面1.程序代码1 import java.awt.*;//导入awt包2 import javax.swing.*;//导入swing包3 import java.awt.event.ActionListener;//导入awt包中的监听器事件包4 import java.awt.event.ActionEvent;//导入awt包中的ActionEvent事件包56 public class EnterScreen extend…

北大青鸟java y2_Struts-2 北大青鸟 Y2学年 项目案例使用 2框架开发租房网站 Java Develop 249万源代码下载- www.pudn.com...

文件名称: Struts-2下载 收藏√ [5 4 3 2 1 ]开发工具: Java文件大小: 10225 KB上传时间: 2016-01-03下载次数: 0提 供 者: 姜鹏详细说明:北大青鸟 Y2学年 项目案例使用Struts 2框架开发租房网站-My English LOW文件列表(点击判断是否您需要的文件&#xff0c…

java i o是什么流_Java I/O流的总结

I/O的类结构图I/O的分类根据处理的数据类型分为:字节流和字符流。根据数据流向分为:输入流和输出流。流又可分为节点流和处理流。节点流直接与数据源相连处理流与节点流一起使用,在节点流的基础上,再嵌套一层。提高文件的读取效率…

java web聊天室私聊map_java websocket聊天室示例(springboot)

【实例简介】【实例截图】【核心代码】package com.example.demo;import java.io.IOException;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ConcurrentHashMap;import javax.websocket.OnClose;import …

Java 内存映射读取文件_Java内存映射 大文件轻松处理|chu

前言内存映射文件(Memory-mapped File),指的是将一段虚拟内存逐字节映射于一个文件,使得应用程序处理文件如同访问主内存(但在真正使用到这些数据前却不会消耗物理内存,也不会有读写磁盘的操作),这要比直接文件读写快几个数量级。…

LeetCode - Easy - 118. Pascal‘s Triangle

Topic Array Description https://leetcode.com/problems/pascals-triangle/ Given a non-negative integer numRows, generate the first numRows of Pascal’s triangle. In Pascal’s triangle, each number is the sum of the two numbers directly above it. Example…

LeetCode - Easy - 119. Pascal‘s Triangle II

Topic Array Description https://leetcode.com/problems/pascals-triangle-ii/ Given an integer rowIndex, return the rowIndexth row of the Pascal’s triangle. Notice that the row index starts from 0. In Pascal’s triangle, each number is the sum of the tw…

java原始模型模式_java设计模式--原始模型模式

简介原始模型模式属于对象的创建模式。通过一个原型对象来指明要创建对象的类型,然后用复制原型对象的方法来创建出更多同类型的对象。Java所有的类都是从java.lang.Object类继承来的,Object类提供clone()方法对对象进行复制。一般调用clone()方法需要满…

java并行计算同步返回_Java大文本并行计算实现过程解析

Java大文本并行计算实现过程解析简单提高文本读取效率,使用BufferedReader是个不错的选择。速度最快的方法是MappedByteBuffer,但是,相比BufferedReader而言,效果不是非常明显。也就是说,后者虽然快,但也快…

java mvc 菜鸟_【java框架】SpringMVC(1)--SpringMVC入门

1.SpringMVC框架认识Spring MVC是一个基于MVC模式的Web框架,SpringMVC作为Spring中的一个模块,它与Spring能够无缝集成,主要用于解决企业Web开发中常见的问题:如参数接收、文件上传、表单验证、国际化等等。2.SpringMVC HelloWorl…

php设置cookie 域名,php如何设置cookie对整个域名有效?

php设置cookie对整个域名有效的方法:由setcookie函数让cookie对整个域名有效,代码为【setcookie("cookie_test", this is cookie test, time()3600,"/",“】。php设置cookie对整个域名有效的方法:默认情况下的cookie仅对…

我的世界一个程序导致JAVA,Java地位无可动摇的12个原因

如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念。犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值。而Java作为现代程序员的中坚力量在这点上或许会成为下一个COBOL。有关JAVA的技术卖出多少本书已经是一个很久远的记忆了。现处中年…

mysql 5.5.23 winx64,win10下mysql 5.7.23 winx64安装配置方法图文教程

本文记录了mysql 5.7.23 winx64安装教程,具体内容如下Step1选择手动下载版本解压到自己指定的路径上图中的my.ini及data文件夹在压缩包里是没有的,后面需要自己添加my.ini如下,直接copy~然后在目录下创建一个data文件夹Step2设置环境变量电脑…