第1题:阅读下面的代码,默读出A0,A1至An的最终值。
A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5))) A1 = range(10) A2 = [i for i in A1 if i in A0] A3 = [A0[s] for s in A0] A4 = [i for i in A1 if i in A3] A5 = {i:i*i for i in A1} A6 = [[i,i*i] for i in A1] 1234567'
默读代码类的题目,相对来说是比较简单的。重点去研究列表解析,之后你就可以轻松的回答这些问题啦
A0 = {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4} A1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] A2 = [] A3 = [1, 3, 2, 5, 4] A4 = [1, 2, 3, 4, 5] A5 = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81} A6 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]] 12345678'
第2题:如何提高python的运行效率?
1.数据结构一定要选对 能用字典就不用列表:字典在索引查找和排序方面远远高于列表。
2.多用python中封装好的模块库关键代码使用外部功能包(Cython,pylnlne,pypy,pyrex)
3.使用生成器
4.针对循环的优化 尽量避免在循环中访问变量的属性
5.使用较新的Python版本
第3题: Python字典有什么特点,从字典中取值,时间复杂度是多少?
dict(中文叫字典)是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中 字典的特性
第4题: 多线程、多进程?
线程
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。
一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令。
进程
一个程序的执行实例就是一个进程。每一个进程提供执行程序所需的所有资源。(进程本质上是资源的集合)
一个进程有一个虚拟的地址空间、可执行的代码、操作系统的接口、安全的上下文(记录启动该进程的用户和权限等等)、唯一的进程ID、环境变量、优先级类、最小和最大的工作空间(内存空间),还要有至少一个线程。
每一个进程启动时都会最先产生一个线程,即主线程 然后主线程会再创建其他的子线程。
进程与线程区别
1.同一个进程中的线程共享同一内存空间,但是进程之间是独立的。
2.同一个进程中的所有线程的数据是共享的(进程通讯),进程之间的数据是独立的。
3.对主线程的修改可能会影响其他线程的行为,但是父进程的修改(除了删除以外)不会影响其他子进程。
4.线程是一个上下文的执行指令,而进程则是与运算相关的一簇资源。
5.同一个进程的线程之间可以直接通信,但是进程之间的交流需要借助中间代理来实现。
6.创建新的线程很容易,但是创建新的进程需要对父进程做一次复制。
7.一个线程可以操作同一进程的其他线程,但是进程只能操作其子进程。
8.线程启动速度快,进程启动速度慢(但是两者运行速度没有可比性)。
第5题: 请尽可能列举python列表的成员方法,并给出以下列表操作的答案:
a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?
a[::2] = [1, 3, 5], a[-2:] = [4, 5] 12
一行代码实现对列表a中的偶数位置的元素进行加3后求和?
from functools import reduce a = [1, 2, 3, 4, 5] print(reduce(lambda x, y: x+y, [(x+3*((a.index(x)+1)%2)) for x in a])) # a中元素均不相同 # 或 print(reduce(lambda x, y: x+y, [a[x]+(x+1)%2*3 for x in range(0, 5)])) # 只适用于a中元素有5个情况 123456'
将列表a的元素顺序打乱,再对a进行排序得到列表b,然后把a和b按元素顺序构造一个字典d。
from random import shuffle a = [1, 2, 3, 4, 5] # 打乱列表a的元素顺序 shuffle(a) # 对a进行排序得到列表b b = sorted(a, reverse=True) # zip 并行迭代,将两个序列“压缩”到一起,然后返回一个元组列表,最后,转化为字典类型。 d = dict(zip(a, b)) print(d) 12345678910'
为了可以给大家提出更多的学习建议,这是我建立的Python学习qun:前931,中间的是251,后面三个数是766。都是自学成功并且成功就业的,在彼此的沟通可以我们可以得到很多学习经验,学习始终靠自己,当你掌握了一个好的学习方法,系统的学习方式,你会发现其实学习Python并没有那么难,有问题在qun里随时问我,qun内含有不少的资学xi资料,且工作不忙的时候帮助大家解答问题。
相关知识
Python试题
Python常见的错误以及其解决方案
【Python表白系列】制作一个无法拒绝的表白界面(完整代码)
教你用Python浪漫表白
Python Web开发(详细教程)
今天520! 教你用Python浪漫表白
借花献佛!朋友干了5年整的Java面试官,给我分享了一份面试官最爱问的Java面试题
数据分析面试、笔试题汇总+解析(一)
2024年最强网络安全学习路线,详细到直接上清华的教材!
【大虾送书第二期】《Python机器学习:基于PyTorch和Scikit
网址: 五道常见的Python面试题一定不要答错! https://m.huajiangbk.com/newsview1055222.html
上一篇: 广东省“安管人员系统”常见问题解 |
下一篇: 高企申报九大典型问题答疑解惑! |