python全栈_010_Python3基本数据类型--元组

1:元组的定义:

  元组: 俗称不可变的列表,又被成为只读列表,元组是一种不可变数据类型,元组也是python的基本数据类型之一, 用小括号()括起来,使用逗号分隔,里面可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改。

tu = ('林志颖', '张学友', '刘德华', '张柏芝', '黄家驹', '周杰伦', '张学友')
print(tu)
tu[1] = '黄家驹' # TypeError: 'tuple' object does not support item assignment
小括号在计算机里还表示算数优先级:
print((8 + 4) * 8)  # 96
tu = ()  # 空元组
print(tu,type(tu))  # () <class 'tuple'>
# (1) 是否是元组 ???
tu = (1)
print(tu,type(tu))  # 1 <class 'int'>
tu = (1,)  # 加了逗号就是元组
print(tu,type(tu))  # (1,) <class 'tuple'>

# 空元组
lst = list()  # 空列表
print(lst)
tu = tuple() #
print(tu)

2:元组的索引与切片:

# 索引与切片
tu = ('林志颖', '张学友', '刘德华', '张柏芝', '黄家驹', '周杰伦', '张学友')
print(tu[2])  # 刘德华
print(tu[-2])  # 周杰伦
print(tu[1:5:2]) # 1,3位的, ('张学友', '张柏芝')
print(tu[5:1:-2]) # 5,3位的, ('周杰伦', '张柏芝')
print(tu[-1:-5:-2]) # -1,-3位的,('张学友', '黄家驹')

3:元组的增删改查:

  元组是一种不可变的数据类型,是不可变的数据类型,因此不能对其进行增,改操作,删操作是删除整个元组:

tu = ('林志颖', '张学友', '刘德华', '张柏芝', '黄家驹', '周杰伦', '张学友')
# tu[0] = '刘德华'  # TypeError: 'tuple' object does not support item assignment
del tu  # 删除整个元组
print(tu) # 已经删除了,NameError: name 'tu' is not defined

  关于不可变, 注意: 这里元组的不可变的意思是子元素不可变。而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象。
  元组中如果只有一个元素. ⼀定要添加一个逗号, 否则就不是元组。

tu = ('林志颖', ['张学友', '刘德华', '张柏芝'], '黄家驹', '周杰伦', '张学友')
print(tu)
print(type(tu[1]))  # <class 'list'>
tu[1][0] = '周杰伦'  # 修改成功,因为tu[1] 是一个列表
print(tu)

tu = (1,)
print(tu,type(tu))  # (1,) <class 'tuple'>

  元组的查询(遍历)

tu = ('林志颖', ['张学友', '刘德华', '张柏芝'], '黄家驹', '周杰伦', '张学友')
for item in tu:
    print(item)

for index,item in enumerate(tu):
    print(index,item)

4:元组运算符:

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

Python 表达式结果描述
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 复制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print x, 1 2 3 迭代

 

5:元组运算符:

  元组的内置函数

 

序号方法及描述
1 cmp(tuple1, tuple2)
比较两个元组元素。
2 len(tuple)
计算元组元素个数。
3 max(tuple)
返回元组中元素最大值。
4 min(tuple)
返回元组中元素最小值。
5 tuple(seq)
将列表转换为元组。
 
 

 

 

posted on 2018-12-14 11:30  ixuby  阅读(201)  评论(0编辑  收藏  举报

导航