美文网首页
python-客观题-错题集

python-客观题-错题集

作者: 爱猫猫的老狗 | 来源:发表于2021-10-20 20:41 被阅读0次

    1、位操作

     向左位移‘<<’ 操作符将执行按位的“左移”,即左操作数的值被右操作数给出的位数移动到左:#2 = 0b10
     2 << 2
     #输出: 8
     #8 = 0b1000
    
     bin(2 << 2)
     #输出: 0b1000执行1的左位移位相当于乘以27 << 1
     #输出: 14执行n的左位移位相当于乘以2**n :3 << 4
     #输出: 48
    

    2、 Python 负数取余问题

    print(-123%10)   # 输出 7
     
    print(-123%-10)  # 输出 -3
    这里面第二条是我们一般意义上的取余操作。这里也特别标注一下,如果涉及到负数取余要用上述解决办法。
    
    那么我们看第一条,结果等于7。这个结果有点让人摸不到头脑,不过这个结果与Python的底层机制有关。
    
    在Python中,取余的计算公式与别的语言并没有什么区别:r=a-n*[a//n]
    
    这里r是余数,a是被除数,n是除数。
    
    不过在“a//n”这一步,当a是负数的时候,我们上面说了,会向下取整,也就是说向负无穷方向取整。这也就得到:
    
    -123%10 = -123 - 10 * (-123 // 10) = -123 - 10 * (-13) = 7
    
    这里还不得不提的是
    
    print(123%-10)
    
    这个情况,结果为:
    
    -7
    
    3、

    答案:512

    4、 122 “字符串按位比较,两个字符串第一位字符的ascii码谁大,字符串就大,不再比较后面的;第一个字符相同的情况下,就比第二个字符串,以此类推。
    5、 124 集合可以使用大于(>)、小于(<)、小于等于(<=)、等于(==)、不等于(!=)、大于等于(>=)来判断某个集合是否完全包含于另一个集合,也可以使用子父集判断函数。
    6、 125
    
    该对象将始终返回 True,除非:
    
    对象为空、比如 []、()、{}
    对象为 False
    对象为 0
    对象为 None
    
    7、 129
    8、 130 可以把不同进制的字符串转为十进制整数
    9、 140
    10、没明白
    11、不明白 142
    image.png
    12、 145
    13、花括号可能是集合或字典。 146
    14、符合一项即为真
    147
    15、"3.14"是一字符串,不在元组参数中。所以此题答案为False image.png
    16、不明白 149
    17、hex() 函数用于将一个指定数字转换为 16 进制数。 image.png
    18、oct() 函数将一个整数转换成 8 进制字符串,8 进制以 0o 作为前缀表示。
    image.png
    19、bin() 返回一个整数 int 或者长整数 long int 的二进制表示。
    154
    20、sep=’ ‘: 表示当输入多个打印的值时,各个值之间分割方式, 默认空格,可以自定义 155
    21、求一个整数的各个数字之和,可以先str转为字符串,然后map映射为整数列表,最后内置函数sum求和。 158
    22、Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 159
    eval() 函数用来执行一个字符串表达式,并返回表达式的值。
    eval
    23、 image.png
    24、^异或运算 164
    25、 166
    26、 167
    27、参数只能是一个对象 170
    28、 170
    #算式分解
    >>> eval("3*2"+"22")
    666
    >>> "3*2"+"22"
    '3*222'
    >>> eval('3*222')
    666
    >>> 
    

    29、

    189
    30、 196
    31、 200
    32、 202
    33、 203
    34、 204
    35、 image.png
    36、求复数的虚部 212
    37、and中含0,返回0; 均为非0时,返回后一个值 212
    38、可哈希的数据类型,即不可变的数据结构(数字类型(int,float,bool)字符串str、元组tuple、自定义类的对象)。 221
    39、 222
    40、 233
    41、 251
    42、 252
    42、这个题的实验结果很诡异! 254
    43、拉链函数zip, 256
    44、zip_long------打了鸡血的zip,最长优先,不够补None
    https://blog.csdn.net/qq_34355232/article/details/101287305
    image.png
    45、集合不能相加 259
    46、集合的运算符& | - 272
    47、字符串转为列表,会拆解每一个字符。 283
    48、remove() 函数用于移除列表中某个值的第一个匹配项。
    list.remove(obj)
    obj -- 列表中要移除的对象。 283
    49、【Python内置hash函数为什么运行两次值不一样】
    python的字符串hash算法并不是直接遍历字符串每个字符去计算hash,而是会有一个secret prefix和一个secret suffix,可以认为相当于是给字符串加盐后做hash,可以规避一些规律输入的情况

    显然这个secret前后缀的值会直接影响计算结果,而且它有一个启动时随机生成的机制,只不过,在2.x版本中,这个机制默认是关闭的,前后缀每次启动都设置为0,除非你改了相关环境变量来要求随机,而在3.x中修改了默认行为,如果你不配置环境变量,则默认是随机一个前后缀值,这样每次启动都会不同

    这个环境变量是PYTHONHASHSEED,无论在2.x还是3.x中,配置为一个正整数,将作为随机种子;配置为0,则secret前后缀默认清零(和2.x默认行为就一样了),配置为空串或“random”,则表示让进程随机生成(和3.x默认行为一样)

    具体为啥要这么做,猜测一个是为了安全性(防字符串hash表的攻击,比如php曾经碰到的攻击),另一个可能也是强调不要依赖一些内建结果,因为这种算法可能随着版本而更新,避免有些用户不看文档,误以为是永远不变的 289
    50、 301
    51、 303
    52、 306
    53、 309
    54、 310
    55、 311
    56、 316
    57、 319
    58、 311
    59、 322
    60、列表的索引值, 326
    61、.sort()是排序,默认升序,.reverse()是反转列表 339
    62、 363
    63、 image.png
    364
    64、切片式修改值必须带括号 365
    65、 366
    66、以列表中的字符串排序 371
    67、将元素逐个转为字符,比较第一位字符的内码大小。 372
    68、 373
    69、 374
    70、 387
    71、不明白 390
    72、 393
    73、 402
    74、 403
    75、字典的keys()方法返回一个视图对象。不能索引但可以和集合进行运算。 409
    76、字典的values()方法返回一个视图对象。不能和集合进行运算。很奇怪 410
    77、index索引一个值第一次出现的位置。 415
    78、enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,enumerate(sequence, [start=0]),返回 enumerate(枚举) 对象。 416
    79、enumerate(sequence, [start=0]),start下标起始值 416
    80、列表拆解1 417
    81、列表拆解2 image.png
    82、列表切片知识点 420
    83、 420
    84、集合的运算 452
    85、random.choice() 方法返回一个列表,元组或字符串的随机项。 471
    86、random.sample(seq,k) 随机选择返回不重复的k和元素 random.sample(list,k=2).
    random.choices(seq,k) 随机选择返回重复的k和元素 random.choices(list,k=2) 472-473
    87、random.shuffle()随机打散 474
    88、列表 487
    89、输出 501
    90、列表生成式 504
    91、列表 506
    92、序列、推导式 507 image.png
    93、序列、推导式 509
    94、序列推导式 509
    95、列表的反转,参考下题理解 529
    96、列表,考察列表方法和内置函数的返回值。 532
    >>> x.sort()==sorted(x)
    False
    >>> x==sorted(x)
    True
    >>> a=x.sort()     #x.sort()是对x直接进行反转,返回值是None
    >>> a
    >>> type(a)
    <class 'NoneType'>
    >>> b=sorted(x)   #sorted(x)返回值是x反转后的结果列表。,两个返回值不一样,所以是False
    >>> b
    [0, 2, 3, 5]
    >>> 
    

    97、字典 fromkeys()方法 https://www.runoob.com/python/att-dictionary-fromkeys.html
    dict.fromkeys(seq[, value]) Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

    544
    98、求集合交集set.intersection(set1, set2 ... etc)https://www.runoob.com/python3/ref-set-intersection.html
    545
    99、字典和集合 561
    100、eval .join sorted()用法https://blog.csdn.net/weixin_36242131/article/details/114935306 566
    101、最诡异的题 568

    相关文章

      网友评论

          本文标题:python-客观题-错题集

          本文链接:https://www.haomeiwen.com/subject/vlxboltx.html