python 元组
python的元组和列表类似, 但是元组的元素是不允许修改的.
元组和列表有什么区别呢?
元组放弃了对元素的增删,内存结构设计上变的更精简,换取的是性能上的提升:创建元组比列表要快,存储空间比列表 占用更小
创建元组
元组使用 ()
# 创建空元组
tup = ()
# 输出
# ()
tup_1 = ('py', 'js', 'c', 'c++', 'java')
print(tup_1, type(tup_1))
# 输出
# ('py', 'js', 'c', 'c++', 'java') <class 'tuple'>
# 不使用括号 也可以
tup_2 = 1, 2, 3, 4, 5
print(tup_2, type(tup_2))
# 输出
# (1, 2, 3, 4, 5) <class 'tuple'>
复制代码
注意
元组中只包含一个元素时,需要在元素后面添加逗号 , ,不然括号会被当作运算符使用:
# 不加逗号,类型为整型
tup_3 = (100)
print(tup_3, type(tup_3))
# 输出
# 100 <class 'int'>
# 加上逗号,类型为元组
tup_4 = (100,)
print(tup_3, type(tup_3))
# 输出
# 100 <class 'tuple'>
复制代码
访问元组
元组, 下表索引从 0 开始
tup_5 = ('js', 'py', 'c', 'java')
print(tup_5[0])
print(tup_5[3])
print(tup_5[:2])
print(tup_5[-1])
# 输出
# js
# java
# ('js', 'py')
# java
复制代码
修改元组
元组中的元素值是不允许修改的
删除元组
元组中的元素值是不允许删除的, 可以使用del
语句来删除整个元组
元组运算符
+
号运算符
>>> (1, 2) + (3, 4)
# (1, 2, 3, 4)
>>>
复制代码
*
赋值
>>> ('py',) * 10
('py', 'py', 'py', 'py', 'py', 'py', 'py', 'py', 'py', 'py')
复制代码
in
查找元素是否存在
>>> 10 in (1, 2, 3, 10, 50, 80)
True #存在返回True
>>> 100 in (1, 2, 3, 10, 50, 80)
False #不存在返回False
复制代码
for in
迭代遍历
>>> for i in ('x', 1, 2, 3, 'c', 'js'):
print('---->', i)
----> x
----> 1
----> 2
----> 3
----> c
----> js
复制代码
元组内置函数
tup_6 = ('js', 'py', 'c', 'java', 'c++')
# len()
# 计算元组元素个数。
print(len(tup_6))
# 输出 5
tup_2 = (1, 2, 3, 4, 5)
# max(tuple)
# 返回元组中元素最大值
print(max(tup_2))
# 输出 5
# min(tuple)
# 返回元组中元素最小值
print(min(tup_2))
# 输出 1
# tuple(lists)
# 将可迭代系列转换为元组。
list_1 = [1, 2, 3, 4]
tup_7 = tuple(list_1)
print(tup_7)
# 输出
# (1, 2, 3, 4)
复制代码
**
元组的不可变指的是元组所指向的内存中的内容不可变。
重新赋值的元组,绑定到新的对象了,不是修改了原来的对象。
[TOC]
python 元组
python的元组和列表类似, 但是元组的元素是不允许修改的.
元组和列表有什么区别呢?
元组放弃了对元素的增删,内存结构设计上变的更精简,换取的是性能上的提升:创建元组比列表要快,存储空间比列表 占用更小
创建元组
元组使用 ()
# 创建空元组
tup = ()
# 输出
# ()
tup_1 = ('py', 'js', 'c', 'c++', 'java')
print(tup_1, type(tup_1))
# 输出
# ('py', 'js', 'c', 'c++', 'java') <class 'tuple'>
# 不使用括号 也可以
tup_2 = 1, 2, 3, 4, 5
print(tup_2, type(tup_2))
# 输出
# (1, 2, 3, 4, 5) <class 'tuple'>
复制代码
注意
元组中只包含一个元素时,需要在元素后面添加逗号 , ,不然括号会被当作运算符使用:
# 不加逗号,类型为整型
tup_3 = (100)
print(tup_3, type(tup_3))
# 输出
# 100 <class 'int'>
# 加上逗号,类型为元组
tup_4 = (100,)
print(tup_3, type(tup_3))
# 输出
# 100 <class 'tuple'>
复制代码
访问元组
元组, 下表索引从 0 开始
tup_5 = ('js', 'py', 'c', 'java')
print(tup_5[0])
print(tup_5[3])
print(tup_5[:2])
print(tup_5[-1])
# 输出
# js
# java
# ('js', 'py')
# java
复制代码
修改元组
元组中的元素值是不允许修改的
删除元组
元组中的元素值是不允许删除的, 可以使用del
语句来删除整个元组
元组运算符
+
号运算符
>>> (1, 2) + (3, 4)
# (1, 2, 3, 4)
>>>
复制代码
*
赋值
>>> ('py',) * 10
('py', 'py', 'py', 'py', 'py', 'py', 'py', 'py', 'py', 'py')
复制代码
in
查找元素是否存在
>>> 10 in (1, 2, 3, 10, 50, 80)
True #存在返回True
>>> 100 in (1, 2, 3, 10, 50, 80)
False #不存在返回False
复制代码
for in
迭代遍历
>>> for i in ('x', 1, 2, 3, 'c', 'js'):
print('---->', i)
----> x
----> 1
----> 2
----> 3
----> c
----> js
复制代码
元组内置函数
tup_6 = ('js', 'py', 'c', 'java', 'c++')
# len()
# 计算元组元素个数。
print(len(tup_6))
# 输出 5
tup_2 = (1, 2, 3, 4, 5)
# max(tuple)
# 返回元组中元素最大值
print(max(tup_2))
# 输出 5
# min(tuple)
# 返回元组中元素最小值
print(min(tup_2))
# 输出 1
# tuple(lists)
# 将可迭代系列转换为元组。
list_1 = [1, 2, 3, 4]
tup_7 = tuple(list_1)
print(tup_7)
# 输出
# (1, 2, 3, 4)
复制代码
**
元组的不可变指的是元组所指向的内存中的内容不可变。
重新赋值的元组,绑定到新的对象了,不是修改了原来的对象。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END