python set去重 字典 计算求和_python经典面试题及答案

1、一行代码实现1~100之和

sum(range(1, 101))

2、如何在一个函数内部修改全部变量

'''global'''

name = "xue"

def test():

global name

name = "73"

print("after change: ", name)

test()

print("now name: ", name)

3、列出5个python标准库

sys、io、time、json、pickle、math...

4、字典如何删除键和合并两个字典

'''

del : 删除

update : 合并

'''

dic = {"name": "xue", "age": 23, 'sex': 'M'}

del dic["sex"]

print(dic)

dic2 = {'hobby': 'basketball'}

dic.update(dic2)

print(dic)

5、谈下python的GIL

6、python实现列表去重的方法

l = [1,1,1,1,2,2,2,2,3,3,5,5,7,5,3,4]

print(l)

l = list(set(l))

print(l)

7、fun(args,**kwargs)中的args,**kwargs什么意思?

*args : 接收N个位置参数,转换成元组

**kwargs : 接收N个关键字参数,转换成字典的形式

8、python2和python3的range(100)的区别

python2返回列表,python3返回迭代器,节约内存

9、一句话解释什么样的语言能够用装饰器?

能够把函数当作参数传递的语言

10、python内建数据类型有哪些

int、bool、str、list、tuple、dict

11、简述面向对象中__new__和__init__区别

12、简述with方法打开处理文件帮我们做了什么?

在处理完文件之后,会帮我们自动关闭文件

13、列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]

def pf(x):

return x**2

l = map(pf, [1,2,3,4,5])

print([i for i in l if i>=16])

14、python中生成随机整数、随机小数、0—1之间小数方法

import random

print(random.randint(1,3)) # [1,3]之间的随机整数

print(random.uniform(1,3)) # (1,3)之间的随机浮点数

print(random.random()) # [0,1)之间的随机浮点数

15、避免转义给字符串加哪个字母表示原始字符串?

r

16、< div class=“nam”>中国< /div>,用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的

import re

str = "

中国
"

res = re.findall("

(.*?)
", str)

print(res)

17、python中断言方法举例

//assert()方法,断言成功,程序继续执行;断言失败,程序报错

class A(object):

def __init__(self, name):

self.name = name

a = A("xue")

assert type(a.name) is str

print(a.name)

18、数据表student有id,name,score,city字段,其中name中的名字可有重复,需要消除重复行,请写sql语句

select distinct name from student

19、10个Linux常用命令

cd ls rm mkdir cp pwd touch tree mv cat more grep echo

20、python2和python3区别?列举5个

1、python3使用print必须使用小括号包裹打印的内容;python2可以用小括号包裹,也可以用空格来分隔打印内容

2、python2中的range()方法返回的是列表,python3中返回的是迭代器,节约内存

3、python2中使用ASCLL编码,python3中使用UTF-8编码

4、python2中的输入内容的方法是raw_input(),python3中的是input()

5、python2中为正常显示中文,需要引入encoding声明,python3不用

21、列出python中可变数据类型和不可变数据类型,并简述原理

不可变类型:数值型、字符串型string和元组tuple

如果变量的值发生了变化,相当于新建了一个对象,而对于相同值的对象,在内存中只有一个地址

可变类型:列表list和字典dict

如果对对象进行了append、+=等这些操作之后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址

22、s = “ajldjlajfdljfddd”,去重并从小到大排序输出”adfjl”

s = 'ajldjlajfdljfddd'

j = set(s)

l = list(j)

l.sort(reverse=False) # sort()方法无返回值

print(''.join(l))

23、用lambda函数实现两个数相乘

sum = lambda a,b:a*b

print(sum(4,5))

24、字典根据键从小到大排序dict={“name”:”zs”,”age”:18,”city”:”深圳”,”tel”:”1362626627”}

dic = {"name": "zs", 'age': 18, 'city': "深圳", 'tel': "1362626627"}

print(dic.items())

l = sorted(dic.items(), key=lambda i:i[0], reverse=False)

print(l)

25、利用collections库的Counter方法统计字符串每个单词出现的次数”kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h”

from collections import Counter

a = 'kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h'

res = Counter(a)

print(res)

26、字符串a = “not 404 found 张三 99 深圳”,每个词中间是空格,用正则过滤掉英文和数字,最终输出”张三 深圳”

import re

a = "not 404 found 张三 99 深圳"

l = a.split()

print(l)

res = re.findall("\d+|[A-Za-z]+", a)

print(res)

for i in res:

if i in l:

l.remove(i)

new_str = " ".join(l)

print(new_str)

27、filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

'''

filter(function, iterable)

funtion: 判断函数

iterable: 可迭代对象

return: 迭代器对象

将可迭代对象的每个元素作为参数传递给函数,然后筛选出返回了True的元素

'''

def is_odd(n):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值