python练习(二)

1.求列表中所有数字元素的和
2.列表中的元素都是整数
3.列表中的元素可能重复,需要去掉重复元素
4.需要使用高级函数实现求和
5.返回计算的结果
from functools import reduce
def sum_of_list(lt):
	a = set(lt)
	lt1 = list(a)
	#print(lt1)
	lt2 = []
	for i in lt1:
		lt2.append(i)
		#print(lt2)
	sum = reduce( lambda x,y :x + y,lt2)
	return sum

lt = [1,2,4,5,7,3,5,7,1,4,8,6,2,7,3]
print(sum_of_list(lt))
1.传入一个列表,列表中元素可能是任意类型
2.使用高级函数完成非字符串元素的删除
3.然后按照字符串的长度进行降序排序
4.返回新的排序后的列表
def sort_list(lt):
	a =filter(lambda x:isinstance(x,str),lt)
	lt1 = list(a)
	#print(lt1)
	lt2 = sorted(lt1 ,key=lambda x:len(x),reverse=True )
	return lt2
lt = [1, 4, 'hello','enervk','fg','23jo','李安琪']
print(sort_list(lt))
1.返回一个字符串中出现次数第二多的单词
2.字符串中可能有英文单词、标点、空格
3.字符串中的英文字符全部是小写
from collections import Counter
import re
def second_count_word(s):
	s = re.sub('\W',' ',s)
	lt = s.split()
	c= Counter(lt)
	d = dict(c)
	#print(d)
	t = d.items()
	print(t)
	lt2 = sorted(t,key=lambda x :x[1],reverse=True)
	return lt2[1][0]

s = ' i love you more than i can say ,do you know?Are you serious?'
print(second_count_word(s))
1.传入年、月、日,返回该日是当年的第几天
2.返回值是一个整数
from datetime import datetime, timedelta
def which_day(y, m, d):
	dt1 = datetime(y, 1, 1)
	dt2 = datetime(y, m, d)
	td3 = dt2 - dt1
	day = td3.days
	return day + 1
print(which_day(2018,12,6))
1.写一个装饰器,查看函数执行的时间
2.在装饰器中打印执行时间即可
3.递归函数除外
import time
def continue_time(func):
	def wrapper(*args,**kwargs):
		kaishi = time.time()
		func(*args,**kwargs)
		jieshu = time.time()
		yongshi = jieshu - kaishi
		return yongshi
	return wrapper

@continue_time
def test(y, m, d):
	dt1 = datetime(y, 1, 1)
	dt2 = datetime(y, m, d)
	td3 = dt2 - dt1
	day = td3.days
	return day +1
print(test(2018,12,6))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值