学习笔记-数据类型6-元组与列表的关系/创建/相同操作/不允许的操作/相互转换

'''
元组的介绍与列表之间的区别
'''
li = [1,2,3,4,5,6]
li[0] = 100  #可改  [100, 2, 3, 4, 5, 6]
print(li)

tu = (1,2,3,4,5,6)
print(tu[0])
tu[0] = 100  #不可改,但是元组里面放个列表是可以改 TypeError: 'tuple' object does not support item assignment
print(tu)

'''
元组的创建
'''
# tu =() # 空元组
# print(type(tu))  # <class 'tuple'>

# tu = (1, 2, 3, 4, 5, 6)
# print(tu, type(tu))
#
# tu2 = tuple()
# print(tu2, type(tu2))  # () <class 'tuple'>

tu3 = tuple("123")  #tuple TypeError: 'int' object is not iterable
# # 能一个一个取出对象中的元素
print(tu3,type(tu3))   # ('1', '2', '3') <class 'tuple'>

tu4 = ("123")
print(tu4,type(tu4))  # 123 <class 'str'>

tu5 = ("123",)  # 加了,之后就会被看成一个元组
print(tu4,type(tu5))  # 123 <class 'tuple'>

'''
元组与列表的相同操作
'''
# 1 访问元组中的元素
tu1 = tuple("1234")
# print(tu1, type(tu1))
# print(tu1[2])  #3  同样可以进行索引
#
# # 切片
# print(tu1[0:3])  # 满足左闭右开  ('1', '2', '3')

# 反转 reversed  排序  sorted
tu2 = (1, 2, 3, 5, 4, 6, 7)
# tu2.reverse()   # 与列表不同,元组反转有他自己的格式 AttributeError: 'tuple' object has no attribute 'reverse'
# print(tu2,type(tu2))   # (1, 2, 3, 5, 4, 6, 7) <class 'tuple'>
print(list(reversed(tu2)))  # 也可以转换成列表
# print(tuple(reversed(tu2)))  # 正确 <reversed object at 0x000001DFE2A0A348>
#   tuple将这个对象进行类型转换变成元组然后打印的   (7, 6, 4, 5, 3, 2, 1)

# 默认升序
# print(sorted(tu2))  # [1, 2, 3, 4, 5, 6, 7] 返回的是列表
# # 降序
# print(sorted(tu2,reverse=True))  # [7, 6, 5, 4, 3, 2, 1] 返回的是列表

# 列表的反转/排序方法对比
# li = [1, 2, 3, 5, 4, 6, 7]
# li.reverse()
# print(li)
# li.sort()
# print(li)

# 加法与乘法
tu1 = (1, 2, 3)
tu2 = (4, 5, 6)
print(tu1 + tu2)  # 合并 (1, 2, 3, 4, 5, 6)
print(tu1 * 3)  # 打印三个接在一起的元组tu2 (1, 2, 3, 1, 2, 3, 1, 2, 3)

'''
元组中不允许的操作
'''
# 不允许修改
# tu = (1, 2, 3, 4, 5, 6)
# print(tu[0])
# tu[0] = 100  # TypeError: 'tuple' object does not support item assignment
# print(tu)

# 元组是不能进行修改的  但是可以对元组中可以修改的数据类型进行修改
tu2 = (1, 2, 3, ['yueyue', 18])
# print(tu2[-1])
# # 想将18修改为  25
# tu2[3][1] = 20
# print(tu2)

# 删除
tu3 = (1, 2, 3, 4, 5)
# 不能删除元组中的单个元素
del tu3[3]  #  TypeError: 'tuple' object doesn't support item deletion
print(tu3)
# 但是我能删除整个元组
del tu3
# 说明我们的tu3成功被删除
# print(tu3)  # NameError: name 'tu3' is not defined

'''
元组与列表之间的转换
'''
# list --->tuple
li = [1,2,3,4]
print(tuple(li))  # (1, 2, 3, 4)

# tuple---->list
tu2 = (1, 2, 3, 4)
print(list(tu2))  # [1, 2, 3, 4]

'''
str<----> int
int<----->float
list<----->tuple
在其前面加上你想转换的关键字即可 
字符串  ""  ''
列表   []
元组   ()
'''



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值