精华内容
下载资源
问答
  • 21:多维列表和获取列表长度

    千次阅读 2020-03-04 21:56:13
    一:获取列表长度:使用len() 1:先定义一个列表 2:然后定义个一个变量length = len (列表名) 3:输出就可以。 二:我们现在进行多维列表的训练 1:我们可以定义一个变量 2:变量可以是一个多维...

    一:获取列表的长度:使用len()

    1:先定义一个列表

    2:然后定义个一个变量length = len (列表名)

     

     

    3:输出就可以。

     

    二:我们现在进行多维列表的训练

    1:我们可以定义一个变量

    2:变量可以是一个多维列表

    list= 【   【】,【】,【】 】这样就定义了一个多维列表。

    我们可以访问列表。

    3:进行一下测试。

     

     

     

     

     

     

    展开全文
  • python的编程使用过程中,list列表结构我想是必不可少的,这也是...什么是嵌套列表呢,简单来说就是:列表内的元素也是列表,对于这样的列表对象我一般习惯称之为“嵌套列表”,当然如果只嵌套一层的话你也可以叫它...

          python的编程使用过程中,list列表结构我想是必不可少的,这也是python里面非常非常重要的一种数据结构,list可以用来模拟Queue队列还可以用来模拟Stack堆栈等等,非常的强大,今天在使用列表的时候有一个需求就是需要对嵌套列表进行排序,什么是嵌套列表呢,简单来说就是:列表内的元素也是列表,对于这样的列表对象我一般习惯称之为“嵌套列表”,当然如果只嵌套一层的话你也可以叫它矩阵。

          对于列表的排序,可以使用python内置的sort或者是sorted函数来快速地实现升序或者是降序的排序,但是对于嵌套列表这样的方法不能够直接使用了,因为在python中列表本身不是可直接比较的对象,sort和sorted就无法直接使用了,但是,无法直接使用并不代表不能使用,下面是我的具体实践,都很简单,觉得有必要总结一下,就在这里贴一下代码:

    #!usr/bin/env python
    #encoding:utf-8
    from __future__ import division
    
    '''
    __Author__:沂水寒城
    功能:  嵌套列表排序
    '''
    
    import operator
    
    
    def sortFunc1(data_list,index=-3):
        '''
        借助于 operator 模块实现排序
        '''
        data_list.sort(key=operator.itemgetter(index)) 
        print '======================= sorted data_list ==================='
        print data_list
    
    
    def sortFunc2(data_list,index=-3):
        '''
        基于内置函数 sorted  实现排序
        '''
        data_list=sorted(data_list,key=lambda i:i[index])
        print '======================= sorted data_list ==================='
        print data_list
        data_list.sort(key=lambda i:i[index], reverse=True)
        print '======================= sorted data_list ==================='
        print data_list
    
    
    def sortFunc3(data_list):
        '''
        依据列表中元素的数量来排序
        '''
        data_list=sorted(data_list,key=lambda i:len(i))
        print '======================= sorted data_list ==================='
        print data_list
    
    
    def sortFunc4(data_list):
        '''
        依据列表中元素总和来排序
        '''
        data_list=sorted(data_list,key=lambda i:sum(i))
        print '======================= sorted data_list ==================='
        print data_list
    
    
    def sortFunc5(data_list):
        '''
        依据列表中元素绝对值的总和来排序
        '''
        data_list=sorted(data_list,key=lambda i:sum([abs(one) for one in i]))
        print '======================= sorted data_list ==================='
        print data_list
    
    
    def sortFunc6(data_list):
        '''
        依据列表中元素最大值来排序
        '''
        data_list=sorted(data_list,key=lambda i:max(i))
        print '======================= sorted data_list ==================='
        print data_list
    
    
    def sortFunc7(data_list):
        '''
        依据列表中元素最小值来排序
        '''
        data_list=sorted(data_list,key=lambda i:min(i))
        print '======================= sorted data_list ==================='
        print data_list
    
    
    if __name__=='__main__':
        data_list=[['A',2,3,'apple','p',45,9],['D',23,13,'orange','q',23,19],['C',12,3,'banana','s',22,29],['E',42,23,'water','p',14,98],
                   ['F',2,3,'snow','k',5,8],['G',12,43,'rain','m',41,12],['L',12,33,'ice','n',15,19],['O',12,13,'cream','b',31,25]]
    
        sortFunc1(data_list,index=-3)
        sortFunc2(data_list,index=-3)
    
    
        data_list=[['E',42,12,23,'p',14,98],['A','p',45,9],['D',13,'orange','q',23,19],['C',3,'s',22,29],['E',42,12,23,'water','p',14,98]]
        sortFunc3(data_list)
    
    
        data_list=[[42,12,23,14,98],[45,9],[13,-100,3,19],[6,3,-5,22,29],[42,12,23,14,98]]
        sortFunc4(data_list)
        sortFunc5(data_list)
        sortFunc6(data_list)
        sortFunc7(data_list)
    

           结果如下:

    ======================= sorted data_list ===================
    [['O', 12, 13, 'cream', 'b', 31, 25], ['F', 2, 3, 'snow', 'k', 5, 8], ['G', 12, 43, 'rain', 'm', 41, 12], ['L', 12, 33, 'ice', 'n', 15, 19], ['A', 2, 3, 'apple', 'p', 45, 9], ['E', 42, 23, 'water', 'p', 14, 98], ['D', 23, 13, 'orange', 'q', 23, 19], ['C', 12, 3, 'banana', 's', 22, 29]]
    ======================= sorted data_list ===================
    [['O', 12, 13, 'cream', 'b', 31, 25], ['F', 2, 3, 'snow', 'k', 5, 8], ['G', 12, 43, 'rain', 'm', 41, 12], ['L', 12, 33, 'ice', 'n', 15, 19], ['A', 2, 3, 'apple', 'p', 45, 9], ['E', 42, 23, 'water', 'p', 14, 98], ['D', 23, 13, 'orange', 'q', 23, 19], ['C', 12, 3, 'banana', 's', 22, 29]]
    ======================= sorted data_list ===================
    [['C', 12, 3, 'banana', 's', 22, 29], ['D', 23, 13, 'orange', 'q', 23, 19], ['A', 2, 3, 'apple', 'p', 45, 9], ['E', 42, 23, 'water', 'p', 14, 98], ['L', 12, 33, 'ice', 'n', 15, 19], ['G', 12, 43, 'rain', 'm', 41, 12], ['F', 2, 3, 'snow', 'k', 5, 8], ['O', 12, 13, 'cream', 'b', 31, 25]]
    ======================= sorted data_list ===================
    [['A', 'p', 45, 9], ['C', 3, 's', 22, 29], ['D', 13, 'orange', 'q', 23, 19], ['E', 42, 12, 23, 'p', 14, 98], ['E', 42, 12, 23, 'water', 'p', 14, 98]]
    ======================= sorted data_list ===================
    [[13, -100, 3, 19], [45, 9], [6, 3, -5, 22, 29], [42, 12, 23, 14, 98], [42, 12, 23, 14, 98]]
    ======================= sorted data_list ===================
    [[45, 9], [6, 3, -5, 22, 29], [13, -100, 3, 19], [42, 12, 23, 14, 98], [42, 12, 23, 14, 98]]
    ======================= sorted data_list ===================
    [[13, -100, 3, 19], [6, 3, -5, 22, 29], [45, 9], [42, 12, 23, 14, 98], [42, 12, 23, 14, 98]]
    ======================= sorted data_list ===================
    [[13, -100, 3, 19], [6, 3, -5, 22, 29], [45, 9], [42, 12, 23, 14, 98], [42, 12, 23, 14, 98]]
    

          在日常的使用中,需要什么样的功能都可以基于上述的几个示例函数来进行改造,个人觉得还是比较方便的。

    展开全文
  • 列表查找失败平均查找长度

    千次阅读 多人点赞 2020-11-01 21:04:40
    要想知道 散列表查找失败的平均查找长度,就要知道什么叫做查找失败!举个栗子:8个数字 key%11 如下算好了: 散列地址 0 1 2 3 4 5 6 7 8 9 10 关键字 33 1 13 12...

    如果你看了很多其他博客然后都看不懂看到了这篇,你一定可以容易懂的!我佛了,这么简单的东西死板地讲题目不讲原理鬼看得懂啊,这种风气真的不行,我忍不住想骂一声垃圾,啥玩意儿,误人子弟!原理懂了啥题不会做?

    要想知道 散列表查找失败的平均查找长度,就要知道什么叫做查找失败!举个栗子:8个数字  key%11  如下算好了:

    散列地址012345678910
    关键字331131234382722   
    冲突次数00023017   

    什么叫做查找失败?比如你要查55这个关键字,你必须%11,等于0,查地址0为33,不对,下一位1,不对,继续往下查找直到出现空的才知道这个关键字一定不存在,否则就放在空着的那个地址。所以以上表,计算地址为0的关键字查了9次才才知道没有这个关键字称为查找失败;计算地址为1的关键字只有探测完1-8号才能确定该元素不存在,以此类推。但是注意了,如果计算地址为8的或者9的、10的,只需要查找一次就知道该地址为空,失败了。因此查找一次就行。而且要知道如果查找成功是除以关键字个数,但是查找失败是除以你要模的数字本题是11,千万记住了,不是地址个数,不是关键字个数。综上所述,查找失败的平均查找长度为(9+8+7+6+5+4+3+2+1+1+1)/11=47/11。放心错不了,书上原题。

    还要注意,如下题型H(key)=key%7:

    散列地址012345678
    关键字982230871140620 

    千万注意,%7只能映射到0-6,散列函数不可能映射7,因此查找失败平均查找长度为(9+8+7+6+5+4+3)/7=6。看到这你可能想骂娘,啥玩意儿,别急。我会让你看懂,因为我最讨厌虾鸡吧写博客的傻逼玩意儿,写的不清楚又不解释,还误人子弟,low咖!!!好了回归正题。首先要知道,我们求平均查找长度其实在求概率,对于成功的平均查找长度,查找每个元素的概率是1/8,这个8就是关键字个数。就是说,查找成功你只能选择8个中的一个,否则成功不了,所以都是在等概率1/8情况下。查找失败也是一样,这里对每个位置的查找概率都是1/7,注意7是你要模的数字,就是说,你随便拿几个数,模7,只能是0、1、2、3、4、5、6,其中一种情况,不可能是7、8以后的数字,所以只需要计算地址在0-6中的概率。如果计算地址后为0,那么需要比较9次,以此类推,所以只能是上面的计算式子,别搞错了噢!还有要注意有些散列表不是完全填满,中间有空位,那相信你看完上面原理就不用我解释了,找到了空位还没有就说明不存在嘛,否则它就占位这个空位了。注意以上所讨论的全部是线性探测,如果是平方探测注意左右跳动,具体问题具体分析,就不展开了。相信你看到这个已经真正明白了什么叫做查找失败平均查找长度。对于垃圾博客需要狠狠骂,对于我也是,我写的烂的大家给我狠狠骂,这样才能少一些误人子弟的渣渣了,只讲怎么怎么操作不讲原理有什么狗屁用,换个方式描述不还是不会。知其然要知其所以然!!!以上如果有错误,还请大家狠狠指出来,谢谢大家!

    比如这篇博客,真佛了,一来就巴拉巴拉在那算算算,好像谁不会计算散列表似的,人家真正不懂的是查找失败的平均查找长度的计算,真正的标题党。垃圾文章!!!

     

     

     

     

     

     

    展开全文
  • 列表查找失败时的平均查找长度

    千次阅读 2021-01-14 20:54:40
    在利用线性探测再散列法处理冲突的散列表中,很多人对计算失败时的平均查找长度,作除数应该是散列表长,还是散列函数:mod后面的数不清楚,首先接下来我们先解决这一问题. 问题一:其除以的数是mod后面的数还是散列表长? ...

    前言:
    在利用线性探测再散列法处理冲突的散列表中,很多人对计算失败时的平均查找长度,作除数应该是散列表长,还是散列函数:mod后面的数不清楚,首先接下来我们先解决这一问题.

    问题一:其除以的数是mod后面的数还是散列表长?

    答:是散列表长.

    首先我们要明确哈希表中下标每一个位置都有可能存储一个关键字数据,所以我们要求的失败平均查找长度即为:

    失败平均查找长度=每一个位置查找失败的次数相加/哈希表长
    

    那么每一个位置在什么情况下算是查找失败呢?
    在遇到第一个位置为NULL的时候才算失败,因为线性探测再散列法的设定,当哈希表为满表时,我们完全可以认为所有后面下标位置存储的数为下标为0时不断冲突得到的,比如mod为6,我们要存入序列{6,12,18,24,30,36}等序列.
    所以如果我们要找数字为30时,比较次数为5次,即我们用数除以mod得到散列函数值即下标为0,这时我们比较值6并不匹配,我们想会不会我们的要找的数在下标为0的时候出现了冲突,会不会线性探测再散列安排到了后面,所以我们延续着与下标为1的关键字值比较,这时比较值为12,依旧不匹配,那我们再想,会不会我们要找的数又发生了冲突,被线性探测再哈希安排到了后面,所以,我们只能再往后找,这时我们继续比较,依次类推我们当我们比较5次时,终于匹配上了我们要找的数.
    那如果我们要找的是42时,这时我们就能推出了下标为0时出现的失败次数,不断往后推,直到比较值为NULL,我们才算死心不再去找: 比较7次
    那下标为1时,失败次数会是多少呢?其实失败次数计算就是假设最极端的情况,不到黄河心不死,我们就认定我们要找的数如果与坐标位置不匹配,那就是发生冲突了,肯定在下一位.所以:
    当下标为1时:查找失败次数为6次,
    当下标为2时.查找失败次数为5次
    当下标为3时.查找失败次数为4次
    当下标为4时.查找失败次数为3次
    当下标为5时.查找失败次数为2次
    当下标为6时.查找失败次数为1次

    因为我们的序列有6个数据元素,以上的推理皆是散列表长度为7时,推理的结果.下标为6的位置为NULL .

    根据以上信息我们完全可以画出我们的散列表

    关键字序列:{6,12,18,24,30,36},散列函数为H(Key)=Key MOD 6
    装填因子为6/7
    在这里插入图片描述
    所以平均查找失败次数为
    (7+6+5+4+3+2+1)/7=4

    例题:将关键字序列(7,8,30,11,18,6,13)散列存储在哈希表中,哈希存储空间是从下标0开始的一维数组,散列函数为H(Key)= Key MOD 7,处理冲突采用线性探测再散列法.要求装填因子为0.7
    (1) 画出构造的散列表:
    (2) 分别计算等概率情况下查找成功和查找失败时的平均查找长度:
    在这里插入图片描述
    查找成功时的平均长度为:ASL(成功)=(1 * 5+2 * 2)/7=9/7
    查找失败时的平均长度为:
    ASL(失败)=(4+3+2+1+5+4+3+2+1+1)/10=26/10=13/5

    展开全文
  • Java面试题大全(2020版)

    万次阅读 多人点赞 2019-11-26 11:59:06
    发现网上很多Java面试题都没有答案,所以花了很长时间搜集...1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...
  • 列表的平均查找长度

    万次阅读 多人点赞 2018-01-16 15:13:14
    等概率情况下查找成功平均查找长度 等概率情况下查找不成功的平均查找长度 题目要求 将关键字序列(7、8、30、11、18、9、14)散列存储到散列表中。散列表的存储空间是一个下标从0开始的一维数组,散列...
  • Matplotlib

    万次阅读 多人点赞 2018-08-23 23:28:21
    在下面的代码中,我们将假设我们只有一条线即plot() 命令返回的线列表长度为 1 。我们使用 line, 来获取列表中的第一个元素。 line, = plt.plot(x, y, '-') line.set_antialiased(False) # turn off ...
  • C语言

    万次阅读 多人点赞 2019-12-18 23:01:50
    算法的空间复杂度是算法在执行过程中所需要的内存空间。 2.算法的时间复杂度是算法所需要的计算工作量。 3.数据的逻辑结构与储存结构不是一一对应的。 4.队列的修改是以先进先出的原则进行的。–与队列结构有...
  • Python语言中的缩进在程序中长度统一且强制使用,只要统一即可,不一定是4个空格(尽管这是惯例) IPO模型:Input Process Output 字符串的正向递增和反向递减序号体系:正向是从左到右,0到n-1,反向是从右到左...
  • 1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 2、怎么查看当前进程?怎么执行退出?怎么查看当前路径? 3、怎么清屏?怎么退出当前命令?怎么执行睡眠?...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    虽然vfat是FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。 (2)确定设备的名称 在Linux 中,设备名称通常都存在/dev里。这些设备名称的命名都是有规则的,可以用“推理”的方式把设备名称找出来。例如,/...
  • MySQL 面试题

    万次阅读 多人点赞 2019-09-02 16:03:33
    这里的“有时”,的是也有些限制。可见 《MySQL 5.7 online ddl 的一些改进》 。 2、Buffer pool 支持在线改变大小 3、Buffer pool 支持导出部分比例 4、支持新建 innodb tablespace,并...
  • Python 列表和元组的区别是什么

    千次阅读 2018-10-24 14:48:46
    一个 Python 初学者的普遍疑问:列表与元组的区别是什么? 答案是:它们之间有两点不同,并且二者之间有着复杂的相互作用。它们分别是”技术上”的差异和“文化上”的差异。 首先,有一点是相同的:列表与元组都是...
  • 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。 输出格式: 输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。 输入样例1: level 输出样例1: level Yes 输入...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    实验一 复习C++有关知识 实验目的: 通过实验掌握下列知识: 1、复习C++有关基本知识; 2、熟悉VC编程、编译和调试环境; 内容及步骤: 编写一个类Complex,定义复数的加法、减法、乘法和除法运算,...
  • HashMap底层实现原理

    万次阅读 2018-03-09 17:30:48
    * HashMap结构修改的次数,结构性的修改是,改变Entry的数量 */ transient volatile int modCount; 3、HashMap构造函数 HashMap() /** * Constructs an empty <tt>HashMap</tt> with the default ...
  • 关于散列表的大小设定

    千次阅读 2018-11-28 18:55:07
    数据库课上老师提出的问题,大意是给一个集合S,给一个散列函数和相应的散列表,长为m,从S映射到表,问 使得给一个x,通过散列表判断其不在S中的概率小于0.05,这个m该是多少? 老师说这个问题是美国大学生都会证的...
  • 天线基础与HFSS天线设计流程

    万次阅读 多人点赞 2019-04-28 15:10:10
    电基本振子又称电流元或者电偶极子,它是一段高频电流直导线,其长度dlλ,其截面半径a,导线上的电流处处等幅同相。 E为电场强度,单位V/m;H为磁场强度,单位为A/m;下标γ、θ、 φ 分别表示球坐标系的各个...
  • 单链表的创建算法

    万次阅读 多人点赞 2016-03-26 23:34:51
     删除链表中的某个元素e,如果e在链表中出现不止一次,将删除第一次出现的e,否则什么也不做。  用p找到元素e所在的结点:  1)p是链表中的第一个结点  (1)将L指向p->next。  (2)释放p。  示意图如下...
  • 移动web开发笔记

    万次阅读 2016-05-15 20:12:27
    )搞清楚了PPI是什么意思,我们就能很容易理解PPI的计算方式了,我们需要首先算出手机屏幕的对角线等效像素,然后处以对角线(我们平常所说的手机屏幕尺寸就是说的手机屏幕对角线的长度),就可以得到PPI了。...
  • CCNA(总结笔记)

    万次阅读 多人点赞 2018-10-02 12:04:41
     接收端的窗口,即接收窗口,用来告知发送端自己所能接收的数据量,  从而达到一部分流控的目的 IPV4报头: ARP:地址解析协议—通过对端的某个地址来获取对端的另一个地址 AARP:正向ARP —已知对端...
  • 数字签名

    千次阅读 2016-12-23 11:05:21
    有证书撤销都要放入证书撤销列表(CRL)中,但是CRL的长度不会一直增加,证书到期之前使用密钥的有关声明,而在正式到期之后,CRL会删除有关条目从而缩短CRL的长度来弥补增加的长度,所以CRL的长度不会一直无限增加...
  • 最近复习数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时不太理解,不知道到底是怎么计算出来的。看了几篇博客后终于知道如何计算了,总结如下。 例题: 将关键字序列(7、8、30、11、...
  • MySQL中varchar最大长度是多少?

    万次阅读 多人点赞 2018-08-14 17:24:16
    出处:... 目录 一.... 二....  ps :被问到一个问题:MySQL中varchar最大长度是多少? 1、限制规则 2、计算例子 3、varchar物理存储 4、InnoDB中的varchar 5、MyISAM中的varchar 一...
  • MQTT协议

    千次阅读 2016-04-26 21:48:31
    Will消息是当服务器与客户端通信过程中出现故障或客户端在保活时间内没有与服务器保持正常交流时,服务器特意发给客户端的消息。当客户端通过发送 DISCONNECT 消息正常断开时,Will消息不会发送。 如果Will标志被...
  • CSS 长度单位详细总结

    千次阅读 2019-11-01 16:40:01
    一、CSS中的长度单位: 在CSS中以不少值是以长度作为值的,盒子模型的属性就是一些明显的值属性:width、height、margin、padding、border。除此之外还有很多的css属性的值同样也是长度值,像偏移量offset、box-...
  • 数组List默认长度

    千次阅读 2017-12-20 20:21:37
    ArrayList默认的长度为10 但是List l=new ArrayList ...因为: size()是“”逻辑长度“”,是内存中已经存在的“实际元素的长度” 而空指针不被计算 当向数组中添加元素时:l.add(1); System.out.pr
  • 因为varchar类型存储变长字段的字符类型,与char类型不同的是,其存储时需要在前缀长度列表加上实际存储的字符,当存储的字符串长度小于255字节时,其需要1字节的空间,当大于255字节时,需要2字节的空间。...
  • ArrayList初始化长度

    万次阅读 2018-07-24 11:10:19
    每个ArrayList实例都有一个容量,该容量是用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝,因此,如果可预知...
  • Mysql各种类型字段长度

    千次阅读 2016-06-01 15:10:52
    § 在MIN(col_name)或MAX(col_name)中,其中col_nameBIGINT列。 § 使用操作符(+,-,*等等)并且两个操作数均为整数时。 o 总是可以使用一个字符串在BIGINT列中保存严格整数值。在这种情况下,MySQL...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 226,057
精华内容 90,422
关键字:

列表的长度指什么