Python元组学习笔记

1. 元组的创建

元组(Tuple)与列表(List)类似,不同之处在于元组的元素是不可以修改的,当然由于元组的不可变性因此也不能进行排序等操作。元组可以由数值类型、布尔值、空值、字符串和列表等构成元组。

# 元组的不可变性
tup = ('a','b','c')
tup[1] = '改变'
print(tup)
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-56-493da6be5b3d> in <module>()
      1 # 元组的不可变性
      2 tup = ('a','b','c')
----> 3 tup[1] = '改变'
      4 print(tup)


TypeError: 'tuple' object does not support item assignment
# 创建空元组
a = ()
print(type(a))
<class 'tuple'>
# 当元组只有一个元素时需要在末尾加一个逗号,
# 否则会解析为括号的运算方法
a = (3)
print(type(a))
a = (3,)
print(type(a))
<class 'int'>
<class 'tuple'>
# 多个元素的元组创建
# 可以不用加括号
a = 1,2
print(type(a))
b = (1,2)
print(type(b))
<class 'tuple'>
<class 'tuple'>
# 多种类型元素的元组
a = ('a',1.2,None,True,[1,2])
print(type(a))
<class 'tuple'>

嵌套元组

a = (1,2,('a','c',3,[1,2]),'a')
type(a)
tuple

range()对象生成元组

a = tuple(range(1,9,2))
print(a,type(a))
(1, 3, 5, 7) <class 'tuple'>

列表转元组方法

lst = ['a','s',True]
a = tuple(lst)
print(a,type(a))
('a', 's', True) <class 'tuple'>
a = ('a', 's', True)
# 当然元组也可以转为列表
b = list(a)
print(b,type(b))
['a', 's', True] <class 'list'>

2. 元组的连接与复制

元组的连接,与列表类似,通过+连接

a = (1,2)
b = (3,4)
a+b
(1, 2, 3, 4)

元组的复制,与列表类似,通过* 复制

a = ('a',)
a * 4
('a', 'a', 'a', 'a')

3. 元组的索引与切片

索引与切片,与列表的操作类似

a = 'a',2,4,(2,3),[3,4],'b'
print(a,type(a))
# 索引
print('第一个元素:',a[0])
print('最后一个元素:',a[-1])
# 切片
print(a[:2])
print(a[:5:2]) # 设置步长切片
('a', 2, 4, (2, 3), [3, 4], 'b') <class 'tuple'>
第一个元素: a
最后一个元素: b
('a', 2)
('a', 4, [3, 4])

4. 元组的常用操作

查询元组的长度

tup = (1,2,'a',True,None,[1,2,3])
len(tup)
6

获取纯数值元组的最大值、最小值和总和

a = tuple(range(1,11))
print('最大值为:',max(a))
print('最小值为:',min(a))
print('总  和为:',sum(a))
最大值为: 10
最小值为: 1
总  和为: 55

查询索引值

tup.index('a')
2

统计元组的元素出现的次数

tup.count(1)
2

删除元组(只能删除整个元组,不能删除具体的元素)

del tup
tup
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-72-cbde4a271b58> in <module>()
      1 del tup
----> 2 tup


NameError: name 'tup' is not defined

for遍历元组

tup = (1,2,'a',True,None,[1,2,3])
for i in tup:
    print(i)
1
2
a
True
None
[1, 2, 3]

判断某个元素是否在元组中

tup = (1,2,'a',True,None,[1,2,3])
None in tup
True
原创文章 20 获赞 7 访问量 1271

猜你喜欢

转载自blog.csdn.net/qq_44285092/article/details/106030011