2020-12-23列表,元组,字典内置方法随堂笔记

列表
在[]内存放多个同一属性的任意类型的 值,用逗号分隔开,按照索引存放,
删除列表中的元素:
del l[0]
l.remove[:]
l.pop[1:3]
注意前两种方法没有返回值,pop是有返回值
查看列表的长度用len(l)可以看出列表中元素的个数如:

l = [11,22,33,[1,2,3]]
print(len(l))

成员运算与字符串相同,也是用in 和not in这种方法,判断一般返回值为布尔值
列表的切片操作,

pythonl = [11,22,33,[1,2,3]]
new_l = l [:]  #表示复制一个新列表,这是浅拷贝

还可以用切片进行取值

pythonl = [11,22,33,[1,2,3]]
new_l = l [0:2]

深浅copy:
l.copy与切片操作复制属于一种浅copy,浅copy复制的列表中如果有可变类型的数据,新旧列表修改数据时,另一个列表也会受影响,具体原理如下:浅copy只复制一层


深copy:导入深copy模块,在进行深copy

from copy import deepcopy
new_l1 = deepcopy(l)

原理如下:深copy是将列表下的每一个子列表(子字典)都进行复制,复制多层
深拷贝

 l = [11,22,33,22,55]
 print(l.index(22))  #在列表中从左往右查找22,找到就不在往下找了
 print(l.count(22))  #查看列表中22的个数
 l.clear()
print(l)  #清空列表

 l.extend("123")
 print(l)  #在列表中添加多个元素
 l.reverse()  #逆序输出列表
 print(l)
 l.sort()  #对列表进行排列,默认由小到大输出
 print(l)

元组
元组相当于一种不可变的列表,元组也是按照位置存放多个任意类型的元素。在()内用逗号分隔开多个任意类型的元素,如果元组内有一个数据,必须用逗号分隔开,否则定义不成功,切记元组的元素不可变
循环:for x in t:
print(x)
切片: 不可以用切片进行修改,格式:t [0:4:2]进行取值
元组只有count和indexl两种内置方法

字典:按照key:value的方式存放多个值,其中key对value应该有描述性效果,在{}内用逗号分隔开多个元素,其中每个元素都是以“key”:value的形式,成对出现
其中value可以是任意类型的数据,key必须是不可变类型,通常是字符串类型,并且key不可重复
dict(可迭代的数据)需要有key:value的形式,
fromkeys,可以快速初始化一个字典,具体用法:

res = {
    
    }.fromkeys(['name','age','gender'],none)
print(res)  #生成结果:{‘name’:none,'age': none,'gender':none}

字典按key存取值:字典可以根据不存在的key,加值,或减值
查看字典长度len(d)
成员运算:in 与 not in,查看成员in不in只能用key,不可用value

d={
    
    “name":egon,"age":18,"gender":male}
print'name' in d)

删除:del d[“name”]
v = d.pop(“name”)返回的是key对应的value
item = d.popitem() 随机删除一组元素,并将删除的元素整理成一个元组返回出来
只有三种方法删除字典里的元素
取字典的key,value,key:value
只取key:
d.keys()取出的全是字典的key ()
d.values()取出的全是字典的value
d.item()取出的全是字典的"key":value

d.get()是一种取值方式,当字典里没有key时,进行取值不会报错,如果没有获取到返回的就是none
d.update()用新字典覆盖老字典,如果没有key就加值,有key就覆盖
d.setdefault()如果key不存在则添加"key":value,如果存在则什么都不动

猜你喜欢

转载自blog.csdn.net/givenchy_yzl/article/details/111590343
今日推荐