学习python 第十五天

一、复习
元组 a = ()
列表 b = []
字典 c = {}
二、字典{}:存储方式–key-value
1、创建 a = {“name”:“zs”,“age”:18} b = {12:15} c = {(1):15} 键值可以是字符串、数字、元组,不能是列表
2、为什么有键? 确定树
3、键值不可相同,相同会被覆盖
4、value值的类型:没有限制
5、操作 增删改查
b = {“name”:“zs”,“age”:18,“sex”:“男”}
(1)、添加 b[“tei”] = 138
(2)、修改 b[“age”] = 19
(3)、删除 del b[“name”] del b
(4)、查询 print(b[“age”]) print(b.keys()) print(b.values()) print(b.items())
for key,value in b.items(): # print(b.items())
print(key,value)
#else:
# print("------")
# 获取name
print(b.get(“name”))
# 指定删除
b.pop(“age”)
print(b)
# 添加和修改(更新)
b.update(“name1”)
b.update(“name”)
# 复制
a = b.copy() #浅表复制
# 清除
b.clear()
#默认删除最后一项
b.popitem()
6、字典的内置函数&方法
len() #长度
str()
type()
in #判断包不包含
7、排序(3)
d = {‘a’:1,‘b’:4,‘c’:2}
a1 = sorted(d.items(),key=lambda x:x[1],reverse=False)
#import operator
#a2 = sorted(d.items(),key = operator.itemgetter(1))
#f = zip(d.values(),d.keys())
#a3 = sorted(f)
print(a1)
key:类型相同 ,自然顺序
value:3
正常想要获取dict中的值,首先要知道key通过dict[key]获取对应的value,在散列表中为了达到这种操作,
首先会计算key的hash值即散列值,把这个值最低的几位数字当作偏移量,在散列表里
查找表元(具体取几位,得看当前散列表的大小)。若找到表元为空,异常KeyError,不为空,
表元里会有一对 found_key:found_value。这时候 Python 会检验 search_key == found_key 是否为真,
如果它们相等的话,就会返回 found_value。如果两个值不匹配,则是散列冲突。
而散列表本身的索引又只依赖于这个数字的一部分。为了解决散列冲突,算法会在散列值中另外
再取几位,然后用特殊的方法处理一下,把新得到的数字再当作索引来寻找表元。
若这次找到的表元是空的,则同样抛出 KeyError;若非空,或者键匹配,则返回这
个值;或者又发现了散列冲突,则重复以上的步骤。

插入排序

def insertSortedGG(list):
    for i in range(1,len(list)):
        temp = list[i]
        leftindex = i-1
        while leftindex >= 0 and list[leftindex] > temp:
            list[leftindex+1] = list[leftindex]
            leftindex -= 1
        list[leftindex+1] = temp


a = [5,8,2,6,7]
insertSortedGG(a)
print(a)

猜你喜欢

转载自blog.csdn.net/weixin_44446703/article/details/87804383