Python123选择题练习+解析(1~150)

 答案解析:递归函数是指函数内部包含对本函数的再次调用。

答案解析:每个递归函数至少存在一个基例

 

 答案解析:函数的作用是复用代码、增强代码可读性、降低编程复杂度,而并不能提高代码的执行速度。

 答案解析:python里有可变对象和不可变对象之分。只有传入的是不可变对象时,值才不发生改变,若是可变对象,值的传入需要注意。不可变对象:Number ,String ,Tuple,bool。可变对象: List , Set , Dictionary是可以改变内部的元素 。

 答案解析:函数可以不使用return语句或多条return语句,因此A,B不正确;Python函数定义中没有对参数指定类型,函数中应根据实参的类型使用,C不正确。

 答案解析:执行该函数后,变量c的值为210

 答案解析:全局变量可以和局部变量重名,全局变量指的是在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明。局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时,变量将不再存在。

答案解析:面向对象编程能实现的功能均可以采用面向过程同样能完成

 答案解析:递归程序的执行效率比较低

 答案解析:lambda表达式相当于:

def fun(x,y):
   return x+y
print(fun(10,10))

 答案解析:函数定义中参数列表里面的参数是形参,参数列表中给出要传入函数内部的参数,这类参数称为实参;程序在调用时,将实参复制给函数的形参

答案解析:lambda是Python的保留字

Python保留字列表
序号 保留字 含义
1 and 用于表达式运算,逻辑与操作
2 as 用于类型转换
3 assert 断言,用于判断变量或条件表达式的值是否为真
4 break 中断循环语句的执行
5 class 用于定义类
6 continue 继续执行下一次循环
7 def 用于定义函数或方法
8 del 删除变量或序列的值
9 elif 条件语句,与if,else结合使用
10 else 条件语句,与if,elif结合使用,也可用于异常和循环语句
11 except except包含捕获异常后的操作代码块,与try,finally结合使用
12 None None是python中特殊的数据类型’NoneType’, None与其他非None数据相比,永远返回False
13 for for循环语句
14 finally 用于异常语句,出现异常后,始终要执行finally,包含的代码块,与try,except结合使用
15 from 用于导入模块,与import结合使用
16 global 定义全局变量
17 if 条件语句,与else,elif结合使用
18 import 用于导入模块,与from结合使用
19 in 判断变量是否在序列中
20 is 判断变量是否为某个类的实例
21 lambda 定义匿名变量
22 not 用于表达式运算,逻辑非操作
23 or 用于表达式运算,逻辑或操作
24 pass 空的类,方法,函数的占位符
25 True python中的布尔类型,与False相对。
26 raise 异常抛出操作
27 return 用于从函数返回计算结果
28 try try包含可能会出现异常的语句,与except,finally结合使用
29 while while的循环语句
30 with 简化python的语句
31 yield 用于从函数依此返回值
32 nonlocal nonlocal是在Python3.2之后引入的一个关键字,它是用在封装函数中的,且一般使用于嵌套函数的场景中
33 False python中的布尔类型,与True相对。

答案解析:def vfunc(* a, b):中的*(可选参数)应该放在后面,因此D错误

def 函数名(q,w=10,*e,r=None):
固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r

参考博客:【Python】一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释)_def 参数默认_发现你走远了的博客-CSDN博客

 答案解析:可选参数不可以定义在非可选参数的前面

 答案解析:函数return的个数没有限制,可以没有return语句

 答案解析:Python使用def保留字定义一个函数,del:删除变量或序列的值。

 答案解析:局部变量指在函数内部定义的变量,仅在函数内部有效,当函数退出时,变量将不再存在。

 答案解析:A选项中,f的类型依参数来确定

 答案解析:这是典型的递归函数,在return语句中调用函数本身。功能为输出N的阶乘值

 答案解析:代码中n不是可选参数,可选参数有*或**

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。


答案解析:参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

  • 位置参数不是一个出现在函数定义时的概念,而是一个出现在函数调用时的概念。
  • 调用函数时传入的实际参数数量和位置都必须和定义函数时保持一致。

    实参和形参数量必须一致,参数多或者少都会报错TypeError。

    实参和形参位置必须一致,否则会产生不同的结果。

  • 关键字参数不是一个出现在函数定义时的概念,而是一个出现在函数调用时的概念。
  • 关键字参数是指使用键值对的形式key=values来确定输入的参数值。

    关键字参数允许你以任何顺序传递参数,不再需要与形参的位置完全一致,只要将参数名写正确即可。

    混合传参时关键字参数必须位于位置参数之后。

    使用关键字参数,可以让参数传递更加明确,让调用方清楚的知道每个参数的传值情况。

     答案解析:python中^表示按位异或,在本题中a ^= 3也就是将a转换为二进制 并与3异或,4的二进制为100,3的二进制为011,因此异或后的结果为111,也就是数字7,b = a^2也就是111与2进行异或,2的二进制为010,因此111与010异或的结果为101,也就是数字5,所以结果为7,5。
    4(0000 0100);3(0000 0011);2(0000 0010);a=4 -> 7(0000 0111);b=5(0000 0101)

      答案解析:定义一个有三个参数x,y,z的函数f,参数x是必须要赋值,比如f(1),f(x=1),都是给x赋值1,y,z也是需要赋值,但不是必须的,因为默认值已经在函数里设置好了,y=0,z=0,默认值是0,f(1)不是只有一个参数,而是省略了y,z参数,默认值是0。f(1,,3),没有第二项参数,语法错误,即便是空值也要用‘’代替

    答案解析:f(1,x=1,z=3),关键字与位置传参组合使用,函数f里参数1已经赋值给x,x=1则对y未赋值,位置参数错误

    答案解析:A选项f(1, y = 2, t = 3)中,并无t参数;B选项,第一个使用关键字参数后面的也需要使用关键字参数;C选项,位置参数错误。关键字传参,用形参的名字来传入实参的方式,传参顺序就可和定义顺序不同

     答案解析:不能使用f.g()这种方式调用g()函数,函数内部定义的函数,在外部不可以调用

     答案解析:当实参是按参数名称传递参数,可以不按照位置顺序存放。因此area(pi = 3.14, r = 4)可能正确执行。

     答案解析:按位置参数传递,结果为39.4384

     答案解析:在函数中,如greeting(‘Hello’, names, ** info),可以传递任意数量实参和任意数量的关键字实参,但是前提是传递*的实参是元组的形式,传递**的实参是字典形式。本题对应形参args1为’Hello’;tupleArgs为(‘HTY’, ‘LFF’, ‘ZH’);dictArgs为{‘schoolName’:‘NJRU’, ‘City’:‘Nanjing’}

      答案解析:同29题

      答案解析:位置参数顺序错误  

      答案解析: 变量不需要声明但需要初始化

       答案解析:return数量没有限制,可以没有

     答案解析:函数形参顺序错误,默认参数x=2.0应该在固定参数y后

    def 函数名(q,w=10,*e,r=None):
    固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r

    答案解析:形参和实参的区别,print(ls1)的ls1为实参,函数内的ls1为形参。

    这里给出列表类型独有的14个函数和方法:
    ❶ ls[i]=x————>:替换列表ls第i个元素为x
    ❷ ls[i:j]=lt————>:用列表lt替换列表ls中的i到j号元素,不包括第j号元素(下同)
    ❸ ls[i:j:k]————>:用列表lt替换列表ls中的i到j号以k为步长的元素
    ❹ del ls[i:j]————>:删除列表第i到j号元素,等价于ls[i:j]=[]
    ❺ del ls[i:j:k]————>:删除列表ls中的i到j号以k为步长的元素
    ❻ ls+=lt或ls.extend(lt)————>:将列表lt中的元素增加到列表ls中
    ❼ ls*=n————>:更新列表ls,ls中的元素重复n次
    ❽ ls.append(x)————>:在列表ls最后增加一个元素x
    ❾ ls.clear()————>:删除ls中所有元素
    ❿ ls.copy()————>:生成一个新列表,复制ls中所有元素
    ⓫ ls.insert(i,x)————>:在列表ls的第i位置增加元素x
    ⓬ ls.pop(i)————>:将列表中的第i个元素取出并删除该元素
    ⓭ ls.remove(x)————>:将列表中出现的第一个元素x删除
    ⓮ ls.reverse()————>:将列表ls中的元素反转

     答案解析:程序在调用时,将实参复制给函数的形参

      答案解析:函数定义后,需要被调用才能运行

      答案解析:关键字与位置传参组合使用,位置传参按位置,关键字传参按关键字

     答案解析:A:列表为可变对象,函数内改变,函数外的值也会变;B:可以定义默认参数,但默认参数位置必须在固定参数后;C:数值为不可变对象,函数内只改变形参的值,不改变函数外实参的值;D:args表示任意数量的位置参数,它可以在函数定义中使用作为前缀来表示,调用函数时,这些参数会被封装成一个元组,并传递给函数。kwargs表示任意数量的关键字参数,它可以在函数定义中使用 ** 作为前缀来表示,调用函数时,这些参数会被封装成一个字典,并传递给函数。

    不可变对象:Number ,String ,Tuple,bool。

    可变对象: List , Set , Dictionary。

    函数定参顺序:def 函数名(q,w=10,*e,r=None):
    固定参数q,默认参数w,可选参数元组e,有默认值的可选参数r

     答案解析:1传入固定参数a,b默认参数为3,s.append(4),即[1,2,4]

     答案解析:自顶向下设计思想:将一个大的任务分解成很多小的、容易理解的子任务。如果可能的话将每一个子任务进一步的细化。一旦程序被分解成子任务,每个子任务都可以单独编译和测试。直到每个子任务都被测试并能正常工作,再将子任务合并为一个完整任务。A:分别解决错误,最终需要合并整体解决问题

     答案解析:同题35,形参和实参的区别,print(b)的b为实参,函数内的b为形参。

      答案解析:列表为可变对象,change()函数打印一次改变后的mylist,print()再次打印改变后的mylist

    答案解析:fn2返回后未被调用,无输出

    答案解析:D:一个try语句可能包含多个except子句,分别来处理不同的特定的异常。A:最多只有一个分支会被执行。B:如果没有发生异常,忽略except子句,继续执行try语句后面的语句。C:pass为空语句,定义空函数体。

    如果在执行try(检测范围内)子句的过程中发生了异常,那么发生异常后的余下的字句将会被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。无论上述哪种情况,try以后的语句都会被执行。

    一个 except 子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组。

    else语句的存在必须以except语句的存在为前提,在没有except语句的try语句中使用else语句,会引发语法错误。

    答案解析:第一次交换,x,y=exchange(x,y)后,x=20,y=10;第两次交换,print(exchange(x,y))后,x=10,y=20。

    答案解析:math.hypot() 方法返回欧几里得范数。

    import math
    #math.hypot() 方法语法如下:
    math.hypot(x1, x2, x3, ..., xn)
    #x1, x2, x3, ..., xn -- 必需,表示多个坐标点。
    #返回值:一个浮点值,表示 n 个输入到原点的欧几里得距离,或两个输入的直角三角形的斜边

    答案解析:默认参数在非默认参数之后;可选参数必须在参数列表的最后一个;有默认值的可选参数,利用none来判断,是否有通过外部参数赋值,如果是none说明需要使用默认参数值。函数定义必须保留括号。

    答案解析:C:m=1中的m为默认参数,不可以接收多个参数

     答案解析:同题23,f(1,,3),没有第二项参数,语法错误,即便是空值也要用‘’代替

     答案解析:abs() 函数返回数字的绝对值。把函数名赋给一个变量,相当于给这个函数起了一个别名。

    abs( x )
    #参数:x -- 数值表达式。
    #返回值:函数返回x(数字)的绝对值。

     答案解析:break:中断循环语句的执行;continue:继续执行下一次循环;pass:空的类,方法,函数的占位符。exit:函数exit(num),num是程序退出类型,整型参数,可省略的参数。通常情况下0表示程序正常退出,1表示程序遇到了某个错误而导致退出。实际运用中可以使用任何整型数据,表示不同的自定义错误类型。

    答案解析:str()将fun()类型转换为字符输出

    答案解析: A:关键字传参和位置传参;B:改变函数内的形参,不会改变函数外的实参;C:默除了位置传参还可以通过关键字传参;D:列表为可变对象,函数内改变,函数外也改变。

    答案解析:*lx,前缀一个星号表示传入元组, a为元组数据的累加。

    答案解析:不需要返回值也可以使用return ,只是后面为空

     答案解析:前俩个add_Run()被调用但是都没有进行打印输出,最后的print(add_Run())先判断L!=None,于是append('Run'),即['Lying','Run']

    答案解析:通过关键字传参,顺序可以和参数列表不一致

      答案解析:默认参数需要进行关键字传参,则需要参数名称

    答案解析: 函数可以不使用return语句或多条return语句,return能返回多个值

    答案解析: 固定参数通过位置传参不能空缺

    答案解析: 分支结构只能往下执行,不能向已经执行过的语句跳转

    答案解析:continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。即continue 语句跳出本次循环,而break跳出整个循环。

    答案解析:continue 语句跳出本次循环,而break跳出整个循环。即break才是结束整个循环过程

     答案解析:for遍历"HelloWorld",当s=="W"时,执行continue,则跳出本次循环,不打印W

    答案解析:for遍历"HelloWorld",当s=="W"时,执行break,则跳出整个循环,终止循环

    答案解析: 对于Python错误的概述:它指的是代码运行前的语法或逻辑错误。拿常规语法错误来说,当我们编写的代码过不了语法检测时,则会直接出现语法错误,必须在程序执行前改正,不然写的代码将毫无意义,代码无法运行,也无法捕获。相比于错误,Python异常主要在程序执行过程中,程序遇见逻辑或算法问题,这时解释器如果可以处理,则没问题,如果处理不了,便直接终止程序,便将异常抛出。

    答案解析:while循环和for循环之间可以互相转换

     答案解析:while循环不用提前确定循环次数

     答案解析:end=" "表示每次打印的末尾加一个空格

    答案解析:import random 表示导入random库,后续的randint()方法需要库支持,不可以删除 

    答案解析:改为a<0则在最初a=3的时候就不会执行while循环

     答案解析:

    Ctrl+Q :快速查看文档。

    Ctrl+C :强制中断程序,程序无论运行哪里都停止。

    Ctrl+D :发送一个 exit 的信号,退出当前的用户或者是客户端。

    Ctrl+Z :暂停程序,在进程中维持挂起状态。

    答案解析:range(1,11)包括1不包括11,即[1,2,3,……,9,10]。执行了10次。sun+=i等同于sum=sum+i。完全左对齐则无缩进,print只输出最终sum值

    答案解析:continue跳过本次循环

    答案解析: random.uniform(x, y) 方法将随机生成一个实数,它在 [x,y] 范围内。

       random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0

       random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: b <= n <= a。如果 a <b, 则 a <= n <= b

       random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

       random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

       random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

       random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。

     random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。

    答案解析: 条件控制语句

    答案解析: age是奇数,所以start=1,range(1,25,2)表示[1,25)其中每次加2,即[1,3,5,7,9,11,13,15,17,19,21,23]

    答案解析: 因为3开根号不等于3,于是为False,任何值乘以False都为False

    答案解析: 即对10000依次/2,当值小于等于1则停止

    答案解析:=为赋值

    答案解析:s初始为0,循环一次为1

    答案解析:s=1,输出,s=2,不进入循环,程序结束

    答案解析: pass是定义空函数,print照常输出

     答案解析:代码分为两层循环,外层i循环,内层j循环,可正常输出三角形

    答案解析: range(1,10)表示[1,10),即1~9,内层中j用于控制列

     答案解析:isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

    isinstance() 与 type() 区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。

  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

  • 如果要判断两个类型是否相同推荐使用 isinstance()。

    isinstance(object, classinfo)
    #参数:object -- 实例对象。classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
    #返回值:如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。

    答案解析:判断a不是列表,后用type()输出a的类型为字典

     答案解析:a不是浮点型

    答案解析:a接收以,分割的输入,其是列表

    答案解析: a接收以,分割的输入,x小于a的长度,则输出a[x]

    答案解析: k=0,v=0,输出一次,k=1,v=1,输出第二次

    答案解析:continue语句跳出本次循环,break语句跳出整个循环

    答案解析: -1为确定值,于是输出True

     答案解析:对列表元素进行遍历,匹配则以标题样式输出,即单词首字母大写

    答案解析:判断x是否为数字,不是则通过replace()将x的值都改为''空,即除了数字都变为空,所以输出为520

    答案解析:Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

    所以移除了末尾的ee,最终count()结果为5

    str.strip([chars])
    #参数:chars -- 移除字符串头尾指定的字符序列。
    #返回值:返回移除字符串头尾指定的字符生成的新字符串。

    答案解析:else没有缩进,不与if语句相关,但是于循环相关,非正常跳出循环则执行else

    答案解析:中文逗号赋值不成功,无法正确输出

    答案解析: 输入25,25<35则执行第二条if语句

    答案解析:or表示或,由于第一个条件a>0不成立,继续判断第二个条件b/a>2,所以报除零错误

     答案解析:第一个BIT!=NJN,所以输出循环数据,第二个NJN==NJN,所以输出南京大学后跳出整个循环,输出完成循环!

    答案解析:无限循环不需要确定次数

    答案解析: goto为第三方库提供的保留字

    答案解析:由于replace替换后会返回替换后的内容,而每次是w赋值给k,w未被改变,即只有最后一次的a被替换为空

    答案解析:列表的元素需要''表示为字符型,才可以正常使用join()

    答案解析:输入的num未设置格式为以,分割,所以输入的不是列表

    答案解析:由于print在if语句内,而break在print前,符合条件则跳出循环,不执行print

     

    答案解析:同100题,25<35符合条件

     答案解析:同101题,or表示或,由于第一个条件a>0不成立,继续判断第二个条件b/a>2,所以报除零错误

     答案解析:同102题

     答案解析:同104题

     答案解析:同92题答案解析:同95题

    答案解析:break跳出当前层的整个循环

    答案解析:60<75则空气没有污染,此处if输出存在,else输出没有

    答案解析:异常为可预见错误,内部会根据错误反馈报错信息

    答案解析:从100开始依次/2,当k<=2时结束

    答案解析:控制结构改变执行流程顺序

    答案解析:A无输出,其余输出 not best

     

    答案解析:join()是字符串函数,222为数值型,执行catch

    答案解析:每次循环是对x赋值,即遍历过程对mx中单个字符改变,而最后输出的mx是未改变的字符串

    答案解析: break跳出整个循环也会跳过else语句

    答案解析:A:if和?错误使用;B:if和=错误使用;C:if语句后少了:

    答案解析:""空等价为False,False!=True,则输出结果为False

    答案解析:B:if<条件>:<语句块>。C:还可以有else。D:可以自定义函数。

    答案解析:k:v 同下标

     

    答案解析:元组中元素可以是多种类型

    答案解析:&为交运算符号

    方法 功能描述
    S & T 或 S . intersaction ( T ) 交集。返回一个新集合,包括同时在集合 S 和 T 中的元素
    S|T 或 S . union ( T ) 并集。返回一个新集合,包括集合 S 和 T 中的所有元素
    S – T 或 S . difference ( T ) 差集。返回一个新集合,包括在集合 S 中但不在集合 T 中的元素
    S^T或 s . symmetric _ difference _ update ( T ) 补集。返回一个新集合,包括集合 S 和 T 中的元素,但不包括同时在其中的元素
    s <= T 或 S . issubset ( T ) 子集测试。如果 S 与 T 相同或 S 是 T 的子集,返回 True ,否则返回 False 。可以用 S < T 判断 S 是否是 T 的真子集
    S >=Т或 S . issuperset (T) 超集测试。如果 S 与 T 相同或 S 是 T 的超集,返回 True ,否则返回 False 。可以用 S > T 判断 S 是否是 T 的真超集

    答案解析:|为并运算符号

     

    答案解析:python没数组类型

     答案解析:s[i:j:k]表示返回s序列中第i到j以k为步长的元素序列

    答案解析:B、C:当存在多个相同的最大值时,返回的是最先出现的那个最大值;D:如果序列中有多种类型,则报错。

  • 默认数值型参数,取值大者;
  • 字符型参数,取字母表排序靠后者;
  • 序列型参数,则依次按索引位置的值进行比较取最大者。
  • 还可以通过传入命名参数key,指定取最大值方法。
  • 答案解析:-1表示倒序输出

     答案解析:C中{}里已经有了一个元素[],只是元素为空

    答案解析:dict.keys()方法是Python的字典方法,它将字典中的所有键组成一个可迭代序列(不是列表)并返回。

    答案解析:同136题

    答案解析:d.items()   以列表的形式返回可遍历的元组数组

     答案解析:d.get() 方法返回具有指定键的项目值。

    dict_name.get(key, default = None)
    #	key: 要设置默认值的Key
    #	default: 要返回key的值,可以是任何值,如整形、字符串、列表、字典等
    #	return: 如果字典中key本来有值,那么返回的是字典中Key所对应的值,如果没有,那么返回“default”中的值。
    

    答案解析:B:Python 字典 in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false。而 not in 操作符刚好相反,如果键在字典 dict 里返回 false,否则返回 true。C:python中判断字典中是否有某个值的方法是:可以使用has_key ()函数来进行判断,如果存在则返回true,否则返回false。

    答案解析:clear()可以清空字典并保留变量

  • clear() 函数用于删除字典内所有元素。
  • copy() 函数返回一个字典的浅复制# 浅拷贝: 引用对象。
  • fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。
  • get() 函数返回指定键的值,如果值不在字典中返回默认值。
  • in 操作符用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。
  • items() 方法以列表返回可遍历的(键, 值) 元组数组。
  • keys() 方法返回一个迭代器,可以使用 list() 来转换为列表。
  • setdefault() 方法和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。
  • update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。
  • values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。
  • pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
  • popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。
  • 答案解析:序列类型是一维元素向量,不是二维(二维数据采用表格方式组织,对应于数学中的矩阵)

    序列类型包含 元组(tuple) 列表(list) 集合(set)<集合不存在先后关系>

    序列:字符、列表、元组

  • 所有序列都支持迭代
  • 序列表示索引为非负整数的有序对象集合
  • 字符和元组属于不可变序列,列表可变
  • 序列是具有先后关系的一组元素
  • 序列是一堆元素向量,元素类型可以不同
  • 序列间由序号引导,通过下标访问序列的特定元素
  •  

     答案解析:元组中可以有不同类型的元素

    答案解析:字符和元组属于不可变序列,列表可变

     

    答案解析:s[3]超出序列范围了,应该返回False

    答案解析:s[1:4:2]表示返回s序列中从1到4(下标,不包括4)以2为步长的序列

     

    答案解析:i=2,x的for循环条件不符未进入,a.append(2);i=3,x的for循环不符未执行,a.append(3);i=4,x的for循环执行一次count=1,继续i的for循环;i=5,x的for循环执行一次,但i%x不等于0,count=0,a.append(5);后续同理判断。

    答案解析:字典无重复元素

     答案解析:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    zip([iterable, ...])
    #参数说明:iterable -- 一个或多个迭代器;
    #返回值:返回元组列表。

    答案解析:::-1为整个序列倒序输出

    解析仅为个人浅显见解,可能部分信息有误,欢迎指正。

    cr.Kerst

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python123选择题练习+解析(1~150)

    发表评论