Python期末复习

Python复习目录

  • 第一章:基础知识
    • 填空题
    • 判断题
    • 编程题
  • 第二章:Python序列
    • 填空题
    • 判断题
    • 编程题

第一章:基础知识

填空题

Python安装扩展库常用的是(pip)工具

Python标准库random中的choice方法作用是从序列中随机选择一个元素

sample(seq,k)是从序列中选择不重复的k个元素

shuffle方法的作用是将列表中的元素随机乱序

(列表,元组,字符串)是Python的有序序列

运算符中测试A是否为B的真子集的表达式可以写作(A

{1,2,3}<{3,4,5}=False

Int(‘123’,16)=(291)

Print (1,2,3,sep=‘:’)的打印结果为(1:2:3)

表达式3|5=7

表达式{1,2,3}|{3,4,5}={1,2,3,4,5}

表达式3&6=2

表达式{1,2,3}&{2,3,4}={3}

表达式3<<2=(12)(左移两位)

表达式 {1,2,3,4,5} ^{4,5,6}的值为{1,2,3,6}

Chr(ord(‘a’)^32)返回(‘A’)

Abs(3+4j)=5.0

Callable(int)=True

Python程序文件abc.py,其中只有一条语句print(name
那么直接运行该程序得到的结果是(main)

type({3})的值为(set)

表达式set([1,2,3])的值为{1,2,3}
set()函数的作用是创建无序不重复的字典

Python期末复习_第1张图片set.add(x)只在集合中添加不重复的元素,重复元素不加入 x=[1,2,3],y=x和y=x.append(4)之后,x的值为:(注意是X的值!)X=[1,2,3,4]


isinstance('Hello world',str)的值为(True)

```bash
isinstance()函数用于检测变量类型,'Hello World' 是str型故为true

判断题

在Windows编写的Python程序无法在Unix执行(X)

在任何时刻相同的值在内存中都只保留一份(X)

Python变量名必须以字母或者下划线开头,并且区分大小写(√)
Python期末复习_第2张图片

不管输入什么,input()函数的返回值总是字符串

Python中0xad是合法的十六进制表示形式(√)

Python中0oa1是合法的八进制表示形式(×)
Python期末复习_第3张图片在Python中,运算符+不仅可以进行数值的相加,字符串连接,还可以实现列表,元组的合并和集合的并集运算(×)

python中可以使用Id()作为变量名,尽管不建议这样做(√)

在Python 3.x中,reduce是内置函数(×)
reduce函数时对参数序列中的元素进行累积计算

Python采用的是基于值的内存管理模式
x=100
id(x)=a
y=100
id(y)=b
a==b(√)

已知a=[1,2,3],b=[1,2,4],那么id(a[1]==id(b[1])的执行结果是(True)

已知x为非空列表,执行语句y=x后,表达式id(x)==id(y)为True

已知x为非空列表,那么执行语句 y=x[:]之后,
id(x[0])==id(y[0])的值为True
id(x)==id(y)为False

x=[1,2,1],id(x[0]==id(x[2])的值为True

is的用法相同

y=x[:]表示y对x进行浅拷贝,会使用新的内存地址

编程题

编写一个程序,用户输入三位以上的整数,输出其百位以上的数字,例如:输入1234,输出12

   x=input('please input an integer')
   x=int(x)
   x=x//100
   if x==0:
      print('You must input a number more than 3 digits')
   else:
     print(x)
   print('You must input an integer')

第二章:Python序列

填空题

表达式[1,2,3]*3的结果是[1,2,3,1,2,3,1,2,3]

list(map(str,[1,2,3] ))的执行结果是 [ ‘1’,‘2’,‘3’ ]

map函数可以将一个list转化为另外一个list

执行x=3==3,5后变量x的值为(True,5)

列表对象的sort方法用来对列表元素进行原地排序,该函数的返回值是(None)
sort是应用在list上的功能,无返回值
sorted()是可以对所有可迭代对象进行排序操作的方法(函数),从而返回新的list
语句sorted([1,2,3],reverse=True)==reversed([1,2,3])的执行结果为False
x=[3,7,5]
x.sort(reverse=True)之后,x的值为[7,5,3]
x=x.sort(reverse=True)之后,x的值为None
a.sort()             
 #默认升序排列
print(a)              输出:[0, 1, 4, 5, 7, 88]


a.sort(reverse=True) 
 #reverse=True,降序排列。
print(a)              输出:[88, 7, 5, 4, 1, 0]

x=[3,7,5]
语句x.reverse()==list(reversed(x))的值为False
x.reverse()之后,x的值为[5,7,3]
x=x.reverse()之后,x的值为None

x为非空列表,表达式x.sort()=sorted(x)的值为False

x,y,z=sorted([1,3,2])之后,x=1 y= 2 z=3

sorted函数从小到大排序
reverse函数倒序,不管你的大小

aList=[3,4,5,6,7,9,11,13,15,17]那么切片aList[3:7]的值为:
[6,7,9,11]

切片含前不含后

list(range(6))[::2]的执行结果是[0,2,4]

从开始的位置,每隔2个字符截取一个字符组成列表

使用切片操作在列表对象x的开始处增加一个元素3的代码为:x[0:0]=[3]

用列表推导式生成包含10个数字5的列表的语句:

[5 for i in range(10)]
[5  for i in range(3)] 的值为[5,5,5]

得到100以内所有能被13整除的数的代码:

[i for i in range(100) if i%13==0]
#最后不要忘记化为列表

将列表a和列表b转化为字典,并且列表a中的元素为键,列表b中的元素为‘值’,这个语句可以写为:

c=dict(zip(a,b))
list(map(list,zip(*[[1,2,3],[4,5,6]]))的值为[[1,4],[2,5],[3,6]]
list(zip([1,2],[3,4]))的值为:[(1,3),(2,4)]

list(range(5))的值为[0,1,2,3,4]

sorted([111,2,33],key=lambda x:len(str(x)))的值为[2,33,111]

依据每个元素转化为字符串后的长度,对列表[111,2,33]进行升序排序,并返回一个排序后形成的新列表

sorted([111,2,33],key=lambda x:-len(str(x)))的值为[111,33,2]

依据每个元素转化为字符串后的长度,对列表进行降序排序,并返回一个排序后形成的新列表
执行x=(3,),执行后的x的值为(3,)  
x*3=(3,3,3)   表示元组
执行x=(3),执行后的x的值为3 
x*3=9       表示元素
字典对象的:
(get()方法)可以获取指定键对应的值,并且可以在指定的键不存在的时候返回指定值,如果不指定则返回None

x={1:2,2:3},那么表达式x.get(3,4)的值为(4)
get方法用于字典,返回指定键的值,如果值不在,则返回get中最后一个参数
x={1:2,2:3},那么表达式x.get(2,4)的值为3

items()方法,以元组的形式:返回字典中的键值对列表

keys()方法可以返回字典的键列表

values()方法可以返回字典的值列表

字典中sum(x)是求键的和
sum(x.values())是求值的和

x={1:2}
那么执行语句x[2]=3之后,x的值为{1:2,2:3}

x.pop()函数:移除列表最后一个元素并返回其值

x.remove()函数,删除列表第一个元素

已知x=[1,2,3,2,3]执行语句 x.remove(2)之后,x=[1,3,2,3]

x.index(a)函数,索引函数,返回元素a的位置下标

enumerate(x),返回列表x的序列和数据,
eg:x=[1,3],list(enumerate(x))=[(0,1),(1,2)]

x.insert(a,b)函数,在位置a插入数据b

list.count(a)函数用于统计数字a在列表中出现的次数

extend()函数用于在列表的末尾一次性追加另一个序列中的多个值

True*3=3
False+1=1

判断题

编程题

生成1000个0-100之间的随机整数,统计元素出现的次数
import random
x=[random.randint(0,100) for i in range(1000)]
d=set(x)
for v in d:
    print(v,':',x.count(v))



输入列表a[1,2,3,4,5,6],输入两个数字,2,5,对列表进行切片,输出a[2:5]的值[3,4,5]
x=input(please input a list:')
x=eval(x)
eval函数就是实现str与list,dict,tuple之间的转化
start,end=eval(input('Please input start and end position:'))
print(x[start:end])


设计一个字典,用户输入为键,输出对应的值,若键不存在,则输出不存在
d={1:'a',2:'b',3:'c'}
v=input('please input a key:')
v=eval(v)
print(d.get(v,'您输入的键不存在'))

你可能感兴趣的:(python)