Python复习知识点(二)

本文介绍了元组和字典两种Python数据结构的特点与使用。元组不可变,使用小括号,可通过下标或切片访问;字典是无序的键值对集合,键必须是不可变类型。字典访问依赖键而非下标,不允许通过下标添加或删除元素。还探讨了元组和字典的创建、访问、删除以及内置函数。同时,文章提及了列表和字典的有序性区别,并讨论了浅拷贝、深拷贝与赋值的区别。
摘要由CSDN通过智能技术生成
  • 元组

    元组与列表类似,不同之处在于元组的元素不可修改

    元组使用小括号,列表使用方括号

    命名方式:

        普通命名:tup1=('哈哈' , '蛤蛤' , '嘿嘿')

                          tup2='abv', 'jinf' , '222',5        (不同括号也可以) 这里解释下,无关闭分割符,用逗号隔开 默认元组

        创建空元祖:

                           tup=();

        创建一个元素的时候:

                           tup=(50,)                (当元组元素只有一个的时候,这里要在元素后面加逗号)

    

        元组的可以下标访问,可以切片访问。也可以拼接

        元组的删除:删除单个元素不不允许的,但是删除整个元组是可以的

                              我们使用del来删除整个元组,删除之后,我们再去打印它就会报错,not define

        相关内置函数

方法功能
cmp(tup1,tup2)比较两个元组元素
len(tup1)计算个数
max(tup),min(tup)返回元组最大,最小值
tuple(seq)将列表转元组

  • 字典

     这里解释下为什么说列表是有序的对象集合,所谓的有序体现在哪里?

      而为什么说字典是无序的对象集合,而无序在哪里体现?

      归根结底在于字典的元素是根据键来存取的,而不是通过偏移存取,(偏移指的是内存上的偏移,这里不过赘述),键本身是无序的,没有规律的

      字典用 { } 来标识,他是一个无序的 键 :值 对集合

      注意:键必须是不可变类型

      在同一个字典中,键必须是唯一的。创建空字典使用 { }  。这也就解释了为什么集合不能用{} 而要用set()

上面例子中,有dict[2],我们访问的并不是他的下标为2的键值,而是访问键为2的值,

                            这也就说明了我们不能通过下标去访问!,归根结底在于他是无序的。不能通过偏移存取

                            同理我们添加字典键的时候,不能用下标添加,总之下标访问机制在字典中不能用!

 特殊用法:

这里再来强调下两点:

        1.    键是不可重复出现两次,如果出现两次,前面的键则被覆盖

        2.    键本身是不可变得,经过上面的笔记,可以得出:键的存在可以用 数字,字符串,元组去充当,如果用列表就报错。例如:

 

对于上表。这里详细说下 浅拷贝,深拷贝,和赋值:

 

解释下:

                            1.    赋值就是将这个对象的引用传入进去,这个对象怎么变化,被赋值的对象也会随之变化

                            2.    浅拷贝如上图所示,虽然是拷贝过来但是他只深度拷贝了原来对象的普通元素,

                                   但是其中的子对象没有拷贝,两个对象中的子对象还是指向同一块内存,原来对象中其他元素怎么变化都不会影响 浅拷贝对象,

                                   但是原来对象如果有子对象,且子对象发生了变化,这时候浅拷贝对象就会发送变化    (代码更好理解 :)

                            3.    而深拷贝就最好理解,完全拷贝了父对象以及子对象,两者完全独立

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sinat_40572875

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

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

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

打赏作者

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

抵扣说明:

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

余额充值