Swift基础篇——元祖

本文深入探讨Swift编程语言中的元祖概念,作为数据结构的基础组成部分,元组允许开发者组合不同类型的值,提供了一种灵活的数据包装方式。

元祖

import UIKit

// 元祖
/*:
元祖
* 复合数据类型
* 只要将多个相同或者不同的数据用()括起来就是元祖
* 优点: 在以前没有元祖之前C和OC语言是通过传入指针或者返回结构体的方式来返回多个值的, 而有了元祖之后就可以实现让一个函数返回多个值
*/
let student = ("hello", 99, 99.8)
print(student)
print(student.0)
print(student.1)
print(student.2)

/*:
* 元祖其实和结构体很想, 只是不需要提前定义类型. 那么如果不定义类型元祖是什么类型呢?
* 元祖其实是复合类型, 小括号中可以写任意类型
*/
let student1: (String, Int, Double) = ("hello", 99, 99.8)

/*:
元祖的其它定义方式:指明应用元祖元素的名称
*/
let student2 = (name:"hello",age:99,score:99.8)
print(student2.name)
print(student2.age)
print(student2.score)

/*:
元祖的其它定义方式:
* 通过指定的名称提取元祖对应的值, 会将对应位置的值 赋值给对应位置的名称
*/
let (name , age , score) =  ("hello", 99, 99.8)
print(name)
print(age)
print(score)

/*:
如果不关心元祖中的某个值可以利用_通配符来忽略提取
*/
let (name1 , age1 , _) =  ("hello", 99, 99.8)
print(name1)
print(age1)
在 Python 中,**元组(tuple)** 是一种**不可变的序列类型**,它与列表(list)类似,都可以存储多个元素,但**元组一旦创建,就不能修改其内容**(比如不能添加、删除或更改元素)。 --- ### ✅ 元组的基本语法 元组使用 **小括号 `()`** 定义,元素之间用逗号分隔: ```python t = (1, 2, 3) ``` 也可以不加括号,直接用逗号定义: ```python t = 1, 2, 3 ``` 单个元素的元组必须加逗号,否则会被视为普通变量: ```python t = (5,) # 正确:元组 x = (5) # 错误:这不是元组,x 是整数 ``` --- ### ✅ 元组的特点 | 特点 | 说明 | |------|------| | 不可变性 | 创建后不能修改元素 | | 有序性 | 元素有固定顺序,可以通过索引访问 | | 支持重复元素 | 可以有多个相同的元素 | | 支持多种数据类型 | 可以混合存储不同类型的数据 | --- ### ✅ 元组的基本操作 #### 1. 访问元素 ```python t = (10, 20, 30) print(t[0]) # 输出:10 print(t[-1]) # 输出:30 ``` #### 2. 切片操作 ```python t = (1, 2, 3, 4, 5) print(t[1:4]) # 输出:(2, 3, 4) ``` #### 3. 遍历元组 ```python t = (1, 2, 3) for item in t: print(item) ``` #### 4. 元组连接 ```python t1 = (1, 2) t2 = (3, 4) t3 = t1 + t2 # 输出:(1, 2, 3, 4) ``` #### 5. 元组重复 ```python t = (1, 2) * 2 # 输出:(1, 2, 1, 2) ``` #### 6. 成员判断 ```python t = (1, 2, 3) print(2 in t) # 输出:True ``` #### 7. 获取长度 ```python t = (1, 2, 3) print(len(t)) # 输出:3 ``` --- ### ✅ 元组与列表的区别 | 特性 | 元组 | 列表 | |------|------|------| | 可变性 | 不可变 | 可变 | | 适用场景 | 数据保护、字典键、函数返回多个值 | 需要频繁修改的数据 | | 性能 | 更快 | 相对较慢 | | 定义符号 | `()` | `[]` | --- ### ✅ 示例代码(可直接放入 `.py` 文件) ```python # 定义元组 t1 = (1, 2, 3) t2 = 4, 5, 6 t3 = (10,) # 单个元素元组,注意逗号 t4 = () # 空元组 # 访问元组元素 print("访问元素:") print(t1[0]) # 输出:1 print(t1[-1]) # 输出:3 # 切片操作 print("\n切片操作:") print(t1[1:]) # 输出:(2, 3) # 遍历元组 print("\n遍历元组:") for item in t1: print(item) # 元组连接 print("\n元组连接:") t_concat = t1 + t2 print(t_concat) # 输出:(1, 2, 3, 4, 5, 6) # 元组重复 print("\n元组重复:") t_repeat = t1 * 2 print(t_repeat) # 输出:(1, 2, 3, 1, 2, 3) # 成员判断 print("\n成员判断:") print(2 in t1) # 输出:True print(4 in t1) # 输出:False # 获取长度 print("\n获取长度:") print(len(t1)) # 输出:3 ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值