Python |9—元组(Tuple)
本文最后更新于62 天前,其中的信息可能已经过时,如有错误请发送邮件到2031853749@qq.com

Python 的元组与列表类似, 不同之处在于元组的元素不能修改, 因此也叫不可变的列表.

在形式上, 元组由一对圆括号()包含的元素序列组成, 元素之间用逗号 , 分隔.

在内容上, 元组的元素类型可以不同, 也可以为空.

通常情况下, 元组用来保存程序中不能修改的数据.

元组的创建和删除

使用赋值运算符直接创建元组

同其他类型的变量一样, 元组也可以使用赋值运算符直接创建:

tuple_name = (element1, element2,..., elementN)

创建元组的语法和列表的语法类似, 只是把方括号 [] 改成圆括号 () 而已.

事实上,小括号也不是必须的,只要保证元素之间用逗号 , 分隔, Python 都会自动将其识别为元组.

如果元组中只有一个元素,必须在元素后面添加逗号 ,,否则 Python 会将其识别为其他数据类型:

tuple_name = (element1,)

创建空元组

如果元组中没有元素,可以直接使用空的圆括号 () 创建空元组:

empty_tuple = ()

创建数值元组

可以使用tuple()函数来创建数值元组:

tuple()函数的语法如下:

tuple(iterable)

参数iterable可以是列表, 字符串, 元组等可迭代对象, 函数将其转换为元组并返回.

删除元组

当不再需要元组时, 可以使用del语句删除它:

del tuple_name

元组元素的访问

想要输出元组的元素,可以直接使用print()函数:

“`python
print(tuple_name)

也可以使用索引或切片来访问元组的元素:

python
print(tuple_name[index]) # 输出第index个元素
print(tuple_name[start:end]) # 输出从start到end-1的元素

同列表一样, 元组也可以用for循环来进行遍历, 也可用for循环结合enumerate()函数来同时获得索引和元素:

python
for i, element in enumerate(tuple_name):
print(i, element)

例如:

python
print(长歌行)
tuple_name=(“青青园中葵”,”朝露待日晞”,”阳春布德泽”,”万物生光辉”, “常恐秋节至”,
“焜黄华叶衰”,”百川东到海”,”何时复西归”,”少壮不努力”,”老大徒伤悲”)
for i, element in enumerate(tuple_name):
if i%2==0:
print(element+”,”,end=””)
else:
print(element+”。”)

输出:

长歌行
青青园中葵,朝露待日晞。
阳春布德泽,万物生光辉。
常恐秋节至,焜黄华叶衰。
百川东到海,何时复西归。
少壮不努力,老大徒伤悲。

TIPS: 在print()函数中使用`,end="`表示不换行输出, 即下一个print()输出的内容会接在上一个输出的后面.

### 元组的解包

元组可以将元组中的元素赋值给多个变量, 例如:

python
tuple_name = (1, 2, 3)
a, b, c = tuple_name
print(a, b, c)

输出:

1 2 3

### 修改元组

元组是不可变的, 因此不能修改元组的元素. 但是我们可以对元组进行重新赋值, 这样可以创建一个新的元组.

也可以对元组进行连接组合, 注意在进行元组连接时,连接的内容必须都是元组, 而不是其他数据类型.

### 元组推导式

元组推导式可以用来创建元组. 它的表现形式和列表推导式类似, 只是把方括号 `[]` 改成圆括号 `()` 而已. 

但是又略有区别, 如下, 生成一个包含10个随机数的元组:

python
import random
tuple_name =(random.randint(1, 100) for i in range(10))
print(tuple_name)

输出:

at 0x000002060DA6D7E0>

使用元组推导式生成的元组是一个生成器对象, 要将其转换为元组, 可以使用tuple()函数:

python
import random
tuple_name =(random.randint(1, 100) for i in range(10))
tuple_name = tuple(tuple_name)
print(tuple_name)

输出:

(42, 73, 92, 10, 52, 22, 17, 81, 31, 61)
“`

元组的运算

与列表一样, 元组之间可以使用 +, +=和 * 号进行运算. 这就意味着他们可以组合和复制, 运算后会生成一个新的元组.

元组的内置函数

  • len()函数: 返回元组的长度.
  • max()函数: 返回元组中最大的元素.
  • min()函数: 返回元组中最小的元素.
  • sum()函数: 返回元组中所有元素的和.
  • tuple()函数: 将列表, 字符串, 元组等可迭代对象转换为元组.

元组和列表的区别:

元组和列表都属于序列, 都可以按照一定的顺序存储元素, 两者区别主要有:

  • 列表属于可变序列, 元素可以修改, 元组属于不可变序列, 元素不能修改,除非整体替换.
  • 列表可以使用append(),extend()等方法进行修改, 元组则不能.
  • 列表可以使用切片访问和修改元素, 元组只能访问元素, 不能修改元素.
  • 元组比列表更加轻量级, 占用内存更少.
  • 元组可以作为字典的键, 列表不能作为字典的键.

本文为2305拾柒原创.
文章作者:拾 柒
文章链接:Python |9—元组(Tuple)
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议. 转载请注明来自拾 柒
如果觉得有用,可以分享出去~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇