笔试题131-
131、字典按age元素由大到小排序
答:
alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}]
newlist = sorted(alist, key=lambda k: k['age'],reverse=True)
print(newlist)
132、请使用简洁的方法合并list,使其元素不重复
答:print(list(set(alist+blist)))
133、打乱一个排好序的list对象alist
答:random.shuffle(alist)
print(alist)
134、简单实现一个stack
答:
l = []
l.append(1)
l.pop()
135、输入某年某月某日,判断这一天是这一年第几天?
答:
year=int(input('请输入年:'))
month=int(input('请输入月:'))
day=int(input('请输入天:'))
sum=day
days = [31,28,31,30,31,30,31,31,30,31,30,31]
i=0
if ( year%4 == 0 and year%100 != 0) or (year%400 == 0):
days[1] = 29
while i< month-1:
sum=sum+days[i]
i+=1
print('这一天是该年的第',sum,'天')
136、将字符串:“k:1|k1:2|k2:3|k3:4”,处理成Python字典
137、如何删除list的元素,如何删除dict中的kv
答:del list[index] del d[key]
138、如何查找一个字符串特定字符?Find()和index()两个函数有什么差异
答:find找不到返回-1,index找不到报错
139:、使用过python那些三方插件
答:sqlarchemy,request,selenium
140、描述一下MVC架构
答:
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
141、描述一下表与视图的理解
答:
联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系
区别:
1、视图是已经编译好的sql语句。而表不是
2、视图没有实际的物理记录。而表有。
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,视图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8、视图的建立和删除只影响视图本身,不影响对应的基本表。
142、索引有什么作用,有哪些分类,有什么好处坏处
答:数据库索引是为了增加查询速度而对表字段附加的一种标识
1.普通索引
2.唯一索引
3.主键索引
4.组合索引
5.全文索引
优点:查询大量数据时,可以提高查询效率。
缺点:不维护空值,占用一定的资源,插入和更新数据时,影响效率。