前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 基础知识第8讲:序列之元组

python 基础知识第8讲:序列之元组

作者头像
小海怪的互联网
发布2019-08-23 15:44:48
4370
发布2019-08-23 15:44:48
举报
文章被收录于专栏:小海怪python学习

1.元组

元组(tuple)是一个不可变的序列,基本的一些操作方式和列表类似,但是有此列表中的方法在此是不可用的,如对元组的增加修改等

1.1.元组和列表使用的时机

当在实际使用中希望数据不改变时,使用元组,其余情况下使用列表

1.2.元组的创建

  • 使用()创建的
代码语言:javascript
复制
my_tuple = () # 创建一个空的元组
print(my_tuple,type(my_tuple))
  • 添加元素
代码语言:javascript
复制
my_tuple = (1,2,3,4,5)
print(my_tuple,type(my_tuple))
  • 取出元组中的元素
代码语言:javascript
复制
print(my_tuple[3]) #通过索引取出相应的元素
  • 改变元素值
代码语言:javascript
复制
my_tuple[0]=10  #此时运行会报错,因为元组是不可变的,所以无法修改其值
  • 如果一个元组不是空的元组,那么它里面至少需要一个 ,
代码语言:javascript
复制
 my_tuple = 10,
  • 创建元组时,个别时候是不需要加括号 ()
代码语言:javascript
复制
my_tuple = 10,20,30,40
  • 元组的解包 元组的解包指的是将元组当中的每一个元素都赋值给一个变量
代码语言:javascript
复制
a,b,c,d = my_tuple
print(a,b,c,d)

注:特别注意 在对一个元组解包时,变量的数量必须和元组中的元素要一一对应 如果出现变量和元素没有对等的情况下,我们可以在变量前面加一个* 这样变量就会将获取元组中所有剩余的元素以列表的形式返回 但是不能出现2个变量 2个*

代码语言:javascript
复制
my_tuple = 10,20,30,40
 a,*b,c = my_tuple # 10 [20, 30] 40
*a,b,c = my_tuple # [10, 20] 30 40
print(a)
  • 解包的方法对字符串,列表,元组都是适用的
代码语言:javascript
复制
a,b,*c = [1,2,3,4,5,6,7]
a,b,*c = 'python java'  
  • *a = my_tuple 这种写法会报错,语法不支持

2.可变对象

在内存当中每个对像都 保存了三个数据

  • 1 id(标识)
  • 2 type(类型)
  • 3 value(值)

列表就是一个可变对象 比如 a=[1,2,3]

一般只有为变量赋值时才是修改变量,其余都是在修改对象
  • 改对象 对象的内存地址是不会发生变化的 a[0] = 10 这个操作就是通过修改变量去修改对象的值,这个不会改变变量所指向的对象
代码语言:javascript
复制
 a = [1,2,3]
 print('修改前:',a,id(a))
# 通过索引来改变列表
a[0] = 10
print('修改后:',a,id(a))
  • 改变量 改完之后对象的内存地址会发生变化 a=[4,5,6] 这个是操作是在给变量重新复值,这个操作会改变变量指向的对象
代码语言:javascript
复制
# 为变量赋值
 a = [4,5,6]
print('修改后:',a,id(a))

可变对象01

可变对象02

3.对象间一些比较方法

  • 1 == , != 比较的是对象的值是否相等
  • 2 is, is not 比较的是对象的id是否相等(比较两个对象是否是同一个对象)
代码语言:javascript
复制
a = [1,2,3]
 b = [1,2,3]
 print(a,b)
print(id(a),id(b))
print(a is b) #False
print(a == b ) #True
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.07.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.元组
    • 1.1.元组和列表使用的时机
      • 1.2.元组的创建
      • 2.可变对象
      • 3.对象间一些比较方法
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档