Python数据类型之元组

Python 中有六个标准的数据类型:

在 Python 中,变量就是变量,它没有类型.
我们所说的"类型"是变量所指的内存中对象的类型

Python3 的六个标准数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)

不可变数据(3 个):
Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):
List(列表)、Dictionary(字典)、Set(集合)。
理解:

 可变数据和不可变数据是相对于引用地址来说的,不可变数据类型不允许变量的值
 发生变化,如果改变了的变量的值,相当于新建了一个对象,而对于相同的值的对象,
 内部会有一个引用计数来记录有多少个变量引用了这个对象。可变数据类型允许变量
 的值发生变化。对变量进行修改操作只会改变变量的值,不会新建对象,变量引用的
 地址也不会发生变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,
 即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在
 引用计数,是实实在在的对象。

简单地讲,可变数据不可变数据是相对于引用地址来说的,
不是不能改变其数据,而是改变数据的时候会不会改变变量的引用地址


元组(Tuple)

元组是有序且不可更改的集合。
元组中的元素不能修改【元素:一旦被初始化,将不能发生改变】
在 Python 中,元组是用圆括号编写的。

创建元组:

​	创建空元组:tuple1 = ()
​	创建有的元组:tuple1 = (元素1,元素2,...)

【面试题】注意:如果元组中只有一个元素,则一定要在元素的后面添加逗号,消除歧义,使其表示的是一个元组

tuple2 = ('abc')   # abc <class 'str'>
tuple2 = ('abc',)  # ('abc',) <class 'tuple'>

元组是不可变的

tuple1 = (34,6,7,'fahg',True,[34,6,7])
tuple1[0] = 88 
 # TypeError: 'tuple' object does not support item assignment

【面试题】注意2:如果元组中的元素是列表,其中的列表仍然可以修改

tuple1 = (34,6,7,'fahg',True,[34,6,7])
tuple1[-1][0] = 88

元组中元素的访问,遍历,切片等都和列表相同

t1 = (4,6,8,9,90,9,9,24,35)
print(len(t1))  #9
print(t1[2])  #8

for num in t1:
 print(num)
for i in range(len(t1)):
 print(i,t1[i])

print(t1[::-1])  # (35, 24, 90, 9, 8, 6, 4)
print(t1[88:])   # ()

元组没有增删改系统功能,但是有查询的功能

t1 = (4,6,8,9,90,9,9,24,35)
print(len(t1))#9
print(max(t1))#90
print(min(t1))#4

print(t1.index(9))#3
print(t1.count(9))#3

列表和元组之间可以相互转化

l1 = [23,5,6]
print(type(l1))
t1 = tuple(l1)
print(type(t1))
l2 = list(t1)
print(type(l2))

注意

【面试题】注意:如果元组中的元素是列表,其中的列表仍然可以修改
【面试题】注意:如果元组中只有一个元素,则一定要在元素的后面添加逗号,消除歧义,使其表示的是一个元组

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小空想家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值