Python之第六章 内置容器 --- 元组

目录

Python之第六章 内置容器 --- 元组

1.定义:

2.元组不允许的条件

3.元组的操作

        创建格式 --- tuplename = (element1,element2,element3,...,elementn)

        删除元组 --- del tuplename

元组连接时必须维持元组性质,不能连接字符串或列表

元组的对象只用一个元素时,必须加逗号

元组的读取问题:

元组也支持切片:与列表操作方式相同

元组与列表的数据互换

4.元组与列表的区别

区别


Python之第六章 内置容器 --- 元组

1.定义:

        将一组不可变的数据序列组合起来形成一个特殊的内纸容器

2.元组不允许的条件

  1. 修改、新增元素
  2. 删除元素(允许删除整个元组)
  3. 所有会对元组内部元素发生变化的方法都无法使用(remove、append、pop等)

3.元组的操作

        创建格式 --- tuplename = (element1,element2,element3,...,elementn)

                元组元素个数无限制、类型都可以不相同

num1 = (2, 3, 4, 5, 6)
num2 = (1,)  # 一个元素的元组,逗号不能省略
num3 = (1)  # 不是元组,只是赋值1
num4 = ()  # 空列表
num5 = tuple(range(0, 20, 2))  # 产生0-19步长为2的元组,tuple()函数创建元组
​
str1 = ("chiana", 'hello', 'world')
​
str2 = (82, 'python', [1, 2, 3, 4, 5])
str3 = 'python', '你好', '风'  # 元祖创建 --- 圆括号可以省略

        删除元组 --- del tuplename

tuple1 = (12, 34, 56)
tuple2 = ('abz', 'xyz')
# tuple1[0] = 100 #会报错,元组不可以修改
tuple1 = (9, 8, 7, 6)  # 支持整体处理
print(tuple1)
tuple3 = tuple1 + tuple2
print(tuple3)
del tuple1
del tuple2
#元组为不可变序列,不支持单个元素的删除,但支持整体赋值修改
​
结果:
(9, 8, 7, 6)
(9, 8, 7, 6, 'abz', 'xyz')
​

注意:

  • 元组为不可变序列,不支持单个元素的删除,但支持整体赋值修改
  • 元组只保证一级子元素不可变,对于内部嵌套的元组不保证不可变
#元组只保证一级子元素不可变,对于内部嵌套的元组不保证不可变
tup1 = ('a', 'b', ['A', 'B'])
tup1[2][0] = 'x'
tup1[2][1] = 'y'
print(tup1)
​
​
结果:
('a', 'b', ['x', 'y'])

元组连接时必须维持元组性质,不能连接字符串或列表

tup1 = (1, 2, 3)
list1 = [4, 5, 6]
tup2 = tup1 + tup1  # 报错
tup2 = tup1 + 'china'  # 报错

元组的对象只用一个元素时,必须加逗号

tup1=(1,2,3)
tup2=tup1+(4,) #加逗号
print(tup2)

元组的读取问题:

        定义时使用(),若要读取访问元组内容依然和列表一样使用 [ ] 配合索引实现

num1=(1,2,3,4,5)
str1=('apple','orange')
print(num1[0],str1[1])

元组也支持切片:与列表操作方式相同

import random
tup1=tuple(random.sample(range(0,30),10))
print(tup1)
​
print(tup1[1:3])
print(tup1[:4])
print(tup1[5:])
print(tup1[-2:])
print(tup1[-3:3:-1])
print(tup1[0:5:3])

元组与列表的数据互换

        list( ):转换为列表

        list( ):转换为元组

tup1 = (123, 'hello', '999', 35.6)
list1 = list('china')
list1.append('china')
print(list1)
tup1 = tuple(list1)
print(tup1)
​
结果:
['c', 'h', 'i', 'n', 'a', 'china']
('c', 'h', 'i', 'n', 'a', 'china')

4.元组与列表的区别

        元组与列表都属于序列,都可以按照特定的顺序存储一组数据,类型个数不受限制

区别

  1.  列表为可变序列,元素可以随时修改,元组为不可变序列,元素内容不可修改、删除
  2. 元组不支持append()、extend()、insert()等方法
  3. 元组和 --- 仅能通过切片来进行访问
  4. 元组比列表结构简单、占用资源少,程序运行速度快
  5. 元组比列表安全性高
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White乄joker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值