Tuple 元组

元组的定义和使用

元组的定义:

  • 元组是有序的不可变对象集合
  • 元组使用小括号包围,各个对象之间使用逗号分隔
  • 元组是异构的,可以包含多种数据类型

元组使用:创建

创建:

  • --使用逗号分隔
  • --通过小括号填充元素
  • --通过构造方法tuple(iterable)-----iterable:可迭代对象
  • --注意:单元素元组,逗号不可或缺
# 元组使用:创建
# 1、直接使用逗号分隔
a = 1, 2, 3
print(type(a))
# 2、通过小括号填充元素
b = (1, 2, 3)
print(type(b))
# 3、通过构造方法tuple(iterable)
c = tuple([1, 2, 3])
print(type(c))
# 注意:单元素元组,逗号不可或缺
d = 1,
print(type(d))

元组使用:索引

  • 索引:可以通过索引值来访问对应的元素
  • 正向索引:默认编号从0开始
  • 反向索引:默认编号从-1开始
# 元组使用:索引
# 索引:可以通过索引值来访问对应的元素
# 正向索引:默认编号从0开始
# 反向索引:默认编号从-1开始
a = (1, 2, 3, 4, 5)
print(a[1])
print(a[-2])

元组使用:切片

切片[start:stop:step]

--三个值都是可选的,非必填

  • --start值:指示开始索引值,如果没有指定,则默认开始值为0;
  • --stop值:指示到哪个索引值结束,但不包括这个结束索引值。如果没有指定,则取列表允许的最大索引值;
  • --step值:步长值指示每一步大小,如果没有指定,则默认步长值为1.
# 切片[start:stop:step]
# --三个值都是可选的,非必填
# --start值:指示开始索引值,如果没有指定,则默认开始值为0;
# --stop值:指示到哪个索引值结束,但不包括这个结束索引值。如果没有指定,则取列表允许的最大索引值;
# --step值:步长值指示每一步大小,如果没有指定,则默认步长值为1.
a = (1, 2, 3, 4, 5)
print(a[::])
print(a[1:4])
print(a[1:4:2])

元组常用方法

index(item)

  • --返回与目标元素相匹配的首个元素的索引。
  • --目标必须在元组中存在的,否则会报错。
# index(item)
# --返回与目标元素相匹配的首个元素的索引。
# --目标必须在元组中存在的,否则会报错。
a = (1, 2, 5, 6, 3, 2)
print(a.index(2))

count(item):返回某个元素出现的次数

  • 入参:对象item
  • 返回:次数
# count(item):返回某个元素出现的次数
# 入参:对象item
# 返回:次数
a = ('happy')
print(a.count("p"))

元组解包

元组解包:把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中

# 元组解包
# 元组解包:把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中
a = (1, 3, 2)
b, c, d = a
print(b)
print(c)
print(d)

元组与列表

相同点

  • --都是有序的;
  • --都是异构的,能够包含不同类型的对象;
  • --都支持索引和切片;

区别

  • --声明方式不同,元组使用().列表使用[];
  • --列表是可变的,元组是不可变的;

到此这篇关于python常用数据结构元组详解的文章就介绍到这了,更多相关python 元组内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

python常用数据结构元组详解的更多相关文章

  1. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  2. xcode – XCTest一个元组

    我正在尝试构建一个单元测试:但是Xcode给了我一个错误:无法使用类型的参数列表调用’XCTAssertEqual’是否有不同的方法来测试元组而不提取其成员并单独测试?解决方法XCTAssertEqual要求传递给它的两个参数是Equatable,您可以从方法签名中看到它们.注意,expression1返回T?,T必须是Equatable:但是Swifttuplesaren’tEquatable,所以你不能将它们与XCTAssertEqual一起使用.元组确实有一个==方法–它们只是不符合协议–所以你可以

  3. ios – 在NSUserDefaults中保存一个元组

    我正在使用一个元组来存储这样的东西.现在我想将它保存在NSUserDefaults中.但是我收到以下错误.类型'’不符合协议’AnyObject’我该如何解决这个问题?

  4. 一 Swift学习之基础部分

    **一Swift学习之基础部分————–借鉴老码团队翻译组-Tyrion**//1.1常量和变量letsum=0//声明常量,值不可修改varnumber=1//声明变量,值可修改varx=0.0,y=1.0,z=2.0//在一行声明多个常量或变量用逗号隔开//1.2类型标注//声明常量或变量时可以加上类型标注,表示这个常量或变量存储的类型,但是如果你没有添加类型,而是赋了初始值,swift会自己推断类型letnum:Int=0varstr:String?Swift提供了两种有符号浮点数类型:Double

  5. Swift语法基础:10 - Swift的布尔值, 元组, 可选, 断言

    3.一个可选值现在是nil,但是后面的代码运行需要一个非nil值。

  6. Swift教程 第一章 基础部分

    Swift是iOS和OSX应用开发的一门新语言,Swift的类型是在C和Object-C的基础上提出来的。Int是整型,Double和Float是浮点型,Bool是布尔型,String是字符串。Swift还有两个常用的集合类型:Array数组和Dictionary字典。除了我们熟悉的类型,Swift还增加了Object-C中没有的类型,比如元组。Swift还增加了可选类型,用于处理值缺失的情况。常量和变量必须在使用前声明,用let来声明常量,用var来声明变量。

  7. Swift教程07-基本数据类型(三)元组类型tuple

    元组乃何方神圣?

  8. swift语言-元组

    可以使用隐氏类型推断,也可以有类型标注。例子如下:2元组数据的访问1.使用下标访问,这种访问方式类似于获得数组元素。下标也是从0开始的。用一组变量组和元组值进行对应。让键值参数在元组的圆括号内。

  9. Swift学习:3.元祖

    元组元组把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。下面这个例子中,是一个描述HTTP状态码的元组。HTTP状态码是当你请求网页的时候web服务器返回的一个特殊值。如果你请求的网页不存在就会返回一个404NotFound状态码。如果你的数据结构并不是临时使用,请使用类或者结构体而不是元组。

  10. Swift学习—元组类型

    知识点:元组数据中的元素可以有名称也可以没有名称元组数据中的元素可以为空元素访问可以通过元素名称或者下标声明成var的元组数据中的元素可以被改变可以指定元素的类型可以用多个变量接收元组数据可以将元素分别赋值给多个变量可以用下划线_忽略某个元素的值,从而取出其他的元素示例代码:

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部