2021-03-26回顾

2021-03-26  本文已影响0人  llovell123456

python

1、字典的实现原理

字典本身其实是一个list,这个list里面的每个元素都是一个元祖。然后这个元素的位置其实是key值hash之后得到一个唯一的固定长度的值。

2、元祖,列表,字典的常用方法

元祖(元祖元素不能修改)

tuple_ex = (1, 2, 2)

# 显示元素所在位置

print(tuple_ex.index(2))

# 显示元祖中某元素个数

print(tuple_ex.count(2))

# 取元祖中某个位置的元素

print(tuple_ex[0])

列表

list_ex = [1, 2, 3, 4]

# 显示列表中某元素的个数

print(list_ex.count(1))

# 列表中某元素出现的位置

print(list_ex.index(1))

# 在列表末尾新增一个元素

list_ex.append(5)

print(list_ex)

# 在列表指定位置新增一个元素

list_ex.insert(1, 6)

print(list_ex)

# 拷贝一个list

list_ex2 = list_ex.copy()

print(list_ex2)

# 排序

list_ex.sort()

print(list_ex)

# 根据索引删除列表数据

list_ex.pop(1)

print(list_ex)

# 根据元素值删除元素

list_ex.remove(1)

print(list_ex)

字典

dict_ex = {"name": "lbw", "age": "18"}

# 获取字典所有的键值

print(dict_ex.keys())

# 获取字典所有的value值

print(dict_ex.values())

# 根据key值获取value

print(dict_ex.get("name"))

# 修改字典元素,有就改没有就添加

dict_ex.update([("name", "ll")])

print(dict_ex)

dict_ex.update([("sex", "male")])

print(dict_ex)

# 可以返回一个新字典,后面带值value就有值不然就为None

dict_ex1 = dict_ex.fromkeys(("kobe", "james", "lodo"))

print(dict_ex1)

dict_ex2 = dict_ex.fromkeys(("kobe", "james", "lodo"), 12)

print(dict_ex2)

# 删除 pop根据key值删除 , popitem是随机删除

dict_ex2.pop("kobe")

dict_ex2.popitem()

print(dict_ex2)

# items方法,返回所有键值对的元素为元祖的列表

print(dict_ex1.items())

3、浅拷贝和深拷贝的区别

有三种形式1、引用是直接复制了引用地址2、浅拷贝是指拷贝了父类对象,子类对象的引用还是只想原来的地址3、深拷贝是既拷贝了父类对象也拷贝了子类对象

4、lambda函数的使用,可以结合map函数一起使用

# lambda函数使用(x,y为乳参,x+y为返回值)

add = lambda x, y: x + y

print(add(1, 2))

# 结合map方法的使用

list1 = [1, 2, 3, 4]

list2 = [4, 5, 6]

# map方法第一个参数add是方法,map会把list1和list2分别遍历作为add的入参,如果参数不一样会以短的哪个为准

list3 = list(map(add, list1, list2))

print(list3)

算法

1、给你10亿数据,找到其中最大的1000个数,你会怎么做

把前1000个作为一个列表并做排序,然后遍历这之后的所有元素,如果比这个列表中的最小的值大的就替换列表中最小的值,直至遍历结束,如果内存不足,可以将这10亿数据分为100份,每份1000万个,然后做上述操作,之后在吧得到的1000个列表在重复上述操作,这叫做最小堆排序

2、快速排序

3、冒泡排序

4、插入排序

linux

sed 命令使用方法(写一个案例之后的自行百度)

sed -i 's/123/456/g' 文件名  将文件中的123改成456

上一篇下一篇

猜你喜欢

热点阅读