L = ['you','me','you','me','you','me','you'] D = {} for i in L: D[i] += 1 print(D) 执行以下代码会发生错误 Traceback (most recent call last): File line 4, in <module> D[i] += 1 KeyError: 'you' Process finished with exit code 1 为什么呢?因为我们在定义字典的时候没设置默认值,电脑找不到相应对象,
之前只知道设置变量的初始值为0.今天在写网络路径分析的时候,为了找到离任意坐标距离最近的节点,初始设置最短距离为无穷大,然后不断的去替换,直到找到最近的节点. 刚开始设置是min_dis = 999999999999,作为距离不是特别大的也是可以的,于是试想是不是Python提供了有无穷大的表示方法,查阅文档,果然如此: from random import randrange seq = [randrange(10**10) for i in range(100)] dd = float("i
字典的元素是成键值对出现的,直接对字典使用sorted() 排序,它是根据字典的键的ASCII编码顺序进行排序,要想让字典根据值的大小来排序,可以有两种方法来实现: 一.利用zip函数将字典数据转化为元组再用sorted() 排序 from random import randint # 用随机函数生成待排序的字典数据 my_dict = {x: randint(60, 100) for x in 'abcxyzgkj'} # 将字典数据转化为元组,把字典的值作为元组的第0项,键作为元组的第1项