【目录】:Python中元组tuple的创建、访问获取元素 、 常用函数 详细教程
一、元组
1、元组定义
元组是Python中有序且不可更改的集合。元组的所有元素都放在一对小括号( )
中,相邻元素之间用逗号,
分隔。
序号 | 符号 | 元组创建区别 |
---|---|---|
方法 1 | ( ) |
初始化 空元组 |
方法 2 | , |
可省略括号(); 当仅含一个元素时后面逗号" , " 不可以省略 |
方法 3 | (,) |
常规创建元组用此方法(建议) |
方法 4 | tuple() |
将其他类型 转化 为元组类型 |
方法 5 | range() |
将区间 转化为元组 |
1. 1 使用()
初始化元组:
代码:
#定义空元组
t = ()
# t = tuple()
print(t)
print(type(t))
结果:
()
<class 'tuple'>
1.2 使用,
创建元组:
代码:
t1 = 1, #仅一个元素,必须添加逗号
print(type(t1),t1)
t2= 'i','have',1,'dream'
print(type(t2),t2)
结果:
<class 'tuple'> (1,)
<class 'tuple'> ('i', 'have', 1, 'dream')
注意:
当元组中只包含一个元素时,需要在元素后面添加逗号"
,
",否则括号会被当作运算符使用:t1 = (1) #int t2 = (1,) #tuple print(type(t1),type(t2)) #<class 'int'> <class 'tuple'> ```
1.3 使用(,)
创建元组
代码:
# 元素可以是任何数据类型 ;元素可重复
t = (1.23,1.23,{
'x','y'},[3,4],'python',{
'age':18})
print(t)
print(type(t)) #查看类型tuple
结果:
(1.23, 1.23, {
'x', 'y'}, [3, 4], 'python', {
'age': 18})
<class 'tuple'>
分析:
-
可重复性:元组中元素可以重复
- 如:元素1.23 重复出现2次
-
任意性:元组中元素 可以为任意类型
- 如:元组中元素可以为float小数,字符str,列表[],集合{},字典{:}等任意类型
1.4 使用tuple()
创建元组:
代码:
# #字符转为元组 str->tuple
str = 'python'
print(tuple(str))
# # 列表 转为元组list -> tuple
list = ['i','have','a','dream']
print(tuple(list))
#字典转换为元组 dic -> tuple
dic= {
"name":"dog","age":18}
print(tuple(dic))
#将集合转为元组 set-> tuple
set = {
'i','haive','a','dream'}
print(tuple(set)) #('a', 'haive', 'dream', 'i')
结果:
('p', 'y', 't', 'h', 'o', 'n')
('i', 'have', 'a', 'dream')
('name', 'age')
('haive', 'dream', 'i', 'a')
分析:
- 使用
tuple()
实现 其他类型 转化为 元组:
- str-> tuple 将 字符str 转化为 元组tuple
- list -> tuple 将 列表[] 转化为 元组tuple
- dic->tuple 将 字典{:} 转化为 元组tuple
- set->tuple 将 集合{} 转化为 元组tuple
1.5 使用range()
创建元组:
代码:
#将区间转换为元组
#省略0,默认range(0,n) ,0<=取值<n 左闭右开区间
t1 = range(3)
print(tuple(t1))
#不省略0
t2= range(1,6)
print(tuple(t2))
#str转为int 然后使用 range()
#ord()函数用于返回给定字符的Unicode数值,即该字符在Unicode表中的位置。
t3= range(ord("a"),ord("f")) #字符对应Unicode数值 :a 对应97 ,f 对应 102
print(tuple(t3))
结果:
(0, 1, 2)
(1, 2, 3, 4, 5)
(97, 98, 99, 100, 101)
分析:
range(n)
- 省略起始0 (默认range(0,n) ,0<=取值<n )
range(m,n)
- 起始非0 (m<=取值<n )
range(ord("a"),ord("f"
)) `
- (ord()将字符str转为数字int ,)
二、元组tuple特性 ★
2.1 元组特性总结
元组 特性 |
说明 |
---|---|
不可改 | 元组是有序且不可更改的集合, 元组内元素不可以 增/删/改 |
任意 类型 |
元组可以存储整数int、实数、字符串str、列表list、元组tuple等任何类型的数据. 另外,在同一个元组中,元素的类型可以不同。但是不推荐这样。 |
可重复 | 元组中元素可以为多个重复的类型。 |
2.2 可变序列和不可变序列
不可变序列 | 可变序列 |
---|---|
字符串str ,元组tuple : 没 有增删改操作 |
列表list ,字典dic : 有 增删改操作,对象地址不发生改变 |
例1:元组tuple为不可变
代码:
#元组的不可变性
#元组作用 相当与数组 不可变
t