Python面试集锦

1、#输入日期,判断这一天是这一年的第几天?

import datetime

def dayofyear():

year =input("请输入年份:")

month =input("请输入月份:")

day =input("请输入天:")

date1 = datetime.date(year=int(year),month=int(month),day=int(day))

print(date1)

date2 = datetime.date(year=int(year),month=1,day=1)

print(date2)

# return (date1-date2).days+1

    print((date1-date2).days+1)

if __name__ =='__main__':

dayofyear()

2、#打乱一个排好序的list对象alist?

import random

alist = [1,2,3,4,5]

random.shuffle(alist)

print(alist)

3、#现有字典 d= {'a':24,'g':52,'i':12,'k':33}请按value值进行排序?

#x[0]代表用key进行排序;x[1]代表用value进行排序。

d = {'a':24,'i':52,'g':12,'k':33}

num =sorted(d.items(),key=lambda x:x[1])

print(num)

4、请反转字符串 "aStr"?

print("aStr"[::-1])

5、#将字符串 "k:1 |k1:2|k2:3|k3:4",处理成字典 {k:1,k1:2,...}

str1 ="k:1|k1:2|k2:3|k3:4"

def str2dict(str1):

dict1 = {}

for itermsin str1.split('|'):

key,value = iterms.split(':')

dict1[key] = value  #dict1[key] = int(value)

# return dict1

    print(dict1)

if __name__ =='__main__':

str2dict(str1)

#字典推导式

d = {k:int(v)for tin str1.split("|")for k, vin (t.split(":"), )}

print(d)

6、#请按alist中元素的age由大到小排序 True; 由小到大排序 False,默认是正序False

alist = [{'name':'a','age':20},{'name':'n','age':30},{'name':'c','age':25}]

def sort_age():

# return sorted(alist,key=lambda x:x['age'],reverse=True)

    print(sorted(alist,key=lambda x:x['name'],reverse=False))#根据name排序

    print(sorted(alist,key=lambda x:x['age'],reverse=True))#根据年龄排序

if __name__ =='__main__':

sort_age()

7、下面代码输出结果:

list = ['a','b','c','d','e']

print(list[10:])

代码将输出[],不会产生IndexError错误,就像所期望的那样,尝试用超出成员的个数的index来获取某个列表的成员。例如,尝试获取list[10]和之后的成员,会导致IndexError。然而,尝试获取列表的切片,开始的index超过了成员个数不会产生IndexError,而是仅仅返回一个空列表。这成为特别让人恶心的疑难杂症,因为运行的时候没有错误产生,导致Bug很难被追踪到。

8、#写一个列表生成式,产生一个公差为11的等差数列

print([x*11 for xin range(20)])

9、#给定两个列表,怎么找出他们相同的元素和不同的元素?

list1 = [1,2,3]

list2 = [3,4,5]

set1 =set(list1)

set2 =set(list2)

print(set1)

print(set2)

print(set1 & set2)

print(set1 ^ set2)

10、#请写出一段python代码实现删除list里面的重复元素?

l1 = ['b','c','d','c','a','a']

l2 =list(set(l1))

print(l2)

11、python新式类和经典类的区别?

a. 在python里凡是继承了object的类,都是新式类

b. Python3里只有新式类

c. Python2里面继承object的是新式类,没有写父类的是经典类

d. 经典类目前在Python里基本没有应用

e. 保持class与type的统一对新式类的实例执行a.class与type(a)的结果是一致的,对于旧式类来说就不

一样了。

f.对于多重继承的属性搜索顺序不一样新式类是采用广度优先搜索,旧式类采用深度优先搜索。

12、.python中内置的数据结构有几种?

a. 整型 int、 长整型 long、浮点型 flfloat、 复数 complex

b. 字符串 str、 列表 list、 元祖 tuple

c. 字典 dict 、 集合 set

d. Python3 中没有 long,只有无限精度的 int

你可能感兴趣的:(Python面试集锦)