Python廖雪峰教程学习笔记:Day2

前言

养成一个好的习惯只需要坚持21天,Day2

使用list和tuple

list 列表

list是一种有序的集合,可以随时添加和删除其中的元素。它的表示用[]。list = []
在这里插入图片描述
变量name就是一个list。用len()函数可以得到list的长度,即该list当中有多少个元素。
在这里插入图片描述
list中元素的访问采用索引,⚠️注意索引是从0开始的,当索引超出list的长度,Python会报一个IndexError错误,所以确保索引不要超出范围,最后一个元素的索引是len(变量名)-1
索引也可以为负数,-1表示最后一个元素,-2、-3以此类推。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
list元素的添加
末尾添加元素,用append()方法,name.append('Bob')
指定位置添加元素,用insert()方法,name.insert(1,'Jack'),1为索引号
在这里插入图片描述
list元素的删除
末尾删除元素,用pop()方法,name.pop()
删除指定位置的元素,用pop()方法,name.pop(2)
在这里插入图片描述
如果要把某个元素换成别的元素,直接将该值赋给对应的索引位置即可。
在这里插入图片描述
list也可以是一个list的元素,但是不常用。例如list = ['python','java',['C','C++'],'php']

tuple 元组

tuple和list非常类似,但是tuple一旦初始化就不能修改。元组用tuple = ()表示,例如name = ('Tom', 'Mary', 'Lily')
现在,name这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,可以正常地使用name[0],name[-1],但不能赋值成另外的元素。
⚠️定义一个只有1个元素的tuple时,t = (1,)必须添加一个逗号。

使用dict和set

dict 字典

dict采用键-值(key-value)存储,具有极快的查找速度,在其他语言中也称为map。dict如下:
在这里插入图片描述
dict采用key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。
dict的添加
通过key放入,d['Bob']=60
在这里插入图片描述
dict中的key和value是一一对应的,多次对同一个key放入不同的value,后面的值会把前面的值冲掉,这是需要注意的地方。
如果key不存在,dict就会报错:
在这里插入图片描述
要避免key不存在的错误,有两种方法。1⃣️是通过in判断key是否存在;2⃣️是通过dict提供的get()方法。如果key不存在,可以返回None,或者自己指定的value:
在这里插入图片描述
dict的删除
要删除一个key,用pop(key)方法,对应的value也会从dict中删除。
在这里插入图片描述
⚠️注意,dict内部存放的顺序和key放入的顺序是没有关系的。

set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:
在这里插入图片描述
重复元素在set中自动被过滤:
在这里插入图片描述
set的添加使用add(key),删除使用remove(key)

小结

可变对象与不可变对象
dict的key必须是不可变对象。因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。在Python中,字符串、整数等都是不可变的,可以作为key,而list是可变的不能作为key。
str是不变对象,而list是可变对象。
可变对象:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

发布了4 篇原创文章 · 获赞 13 · 访问量 498

猜你喜欢

转载自blog.csdn.net/Comme_moik/article/details/104261813
今日推荐