Swift 元组(Tuple)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift 元组(Tuple)相关的知识,希望对你有一定的参考价值。

参考技术A 元组类型,用于在单个复合值中对多个值进行分组

元组中的值可以是任何类型,并且不需要是相同类型

声明:

 元组声明的 语法

方式1: 最简单的元组,就是在圆括号中,用逗号分隔的一组值

是一个具有两个值的元组,一个元素是整数类型,另一个元素是字符串类型(这是一个合法的数据)

方式2 :可以在声明时命名元组的变量,也可以使用它们的名称来调用

数组和字典组合

取值

方式1:使用下标

方式2:使用元素名称

方式3:拆分成常量/变量

应用:

1、作为函数参数

2、作为函数返回值

总结:

元组 优点:

 1、元组可以同时存储多种类型元素,且元素类型固定,以保数据安全,除非你定义数据类型为Any。编译器会对赋值参数类型进行检查

 2、元组的元素个数固定,不允许增加、删除,编译器会严格校验赋值参数个数

 3、无需定义key,但是必要时可以为数据命名,方便数据访问

 4、适合同时遍历多元数据

 元组 缺点 :

 1、不适合存储大量数据,因为元组不支持append、remove等方法

 2、考虑到工程实际情况,后段使用的语言可能不支持元组,需要转换为其他格式

 元组适合应用于组合少量的多元的数据,与数组、字典结合使用可以产生强大威力

Tuple(元组)

Tuple(元组)

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号(())里,元素之间用逗号隔开。

元组中的元素类型也可以不相同:

#!/usr/bin/python3

tuple = ( ‘abcd‘, 786 , 2.23, ‘runoob‘, 70.2  )
tinytuple = (123, ‘runoob‘)

print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组

以上实例输出结果:

(‘abcd‘, 786, 2.23, ‘runoob‘, 70.2)
abcd
(786, 2.23)
(2.23, ‘runoob‘, 70.2)
(123, ‘runoob‘, 123, ‘runoob‘)
(‘abcd‘, 786, 2.23, ‘runoob‘, 70.2, 123, ‘runoob‘)

元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取(看上面,这里不再赘述)。

其实,可以把字符串看作一种特殊的元组。

>>> tup = (1, 2, 3, 4, 5, 6)
>>> print(tup[0])
1
>>> print(tup[1:5])
(2, 3, 4, 5)
>>> tup[0] = 11  # 修改元组元素的操作是非法的
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: ‘tuple‘ object does not support item assignment
>>>

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号

string、list和tuple都属于sequence(序列)
 

注意:

  • 1、与字符串一样,元组的元素不能修改。
  • 2、元组也可以被索引和切片,方法一样。
  • 3、注意构造包含0或1个元素的元组的特殊语法规则。
  • 4、元组也可以使用+操作符进行拼接。
 

以上是关于Swift 元组(Tuple)的主要内容,如果未能解决你的问题,请参考以下文章

Swift 元组 Tuple

Swift2.0元组类型&数组类型&字典类型

Tuple(元组)

python元组(tuple)使用示例+常用方法+列表(list)和元组(tuple)的异同?

Python元组

元组tuple基本操作