import functools
from decimal import Decimal
字符串反转
import timea = 'hello'
b= functools.reduce(lambda x,y:y+x,a)
print(b)
print(type(b))c = ''.join(list(a)[::-1])
print(c)
查找字符串
str_1='我爱你中国'
char_1='中国'
nPos=str_1.index(char_1)
print(nPos)
数组合并去重排序
a = [i for i in range(1,11)]
b = [i for i in range(5,20)]
c = a + b
d = list(set(c))
d.sort(reverse=True)
print(d)
m,n的整数平方
m,n = 1,5
e = [i*i for i in range(m,n+1)]
print(e)
对一个字典进行排序(key,value)
dict_3 = {"A": 18, "D": 15, "B": 20}
g = sorted(dict_3.items(), key=lambda item: item[0]) # 按键的顺序来排序
print(g) #[('A', 18), ('B', 20), ('D', 15)]
h = sorted(dict_3.items(), key=lambda item: item[1]) # 按值的顺序来排序
print(h) # [('D', 15), ('A', 18), ('B', 20)]
实现一个可关闭的装饰器(对函数执行时间进行记录)
def js(flag=1):def decorator(func):@functools.wraps(func)def wrapper(*args,**kw):beg = time.time()ret = func(*args,**kw)end = time.time()if flag:print('函数运行时间:{}'.format(round(end-beg,3)))else:print('计时已关闭')return retreturn wrapperreturn decorator
@js(flag=0)
def test():for i in range(100):pass
test()
读取一个目录并读取所有文件的名称
import os
def all_path(dirname):filelistlog = dirname + "\\filelistlog.txt" # 保存文件路径postfix = set(['pdf', 'doc', 'docx', 'epub', 'txt', 'xlsx', 'djvu', 'chm', 'ppt', 'pptx']) # 设置要保存的文件格式for maindir, subdir, file_name_list in os.walk(dirname):for filename in file_name_list:apath = os.path.join(maindir, filename)if True: # 保存全部文件名。若要保留指定文件格式的文件名则注释该句# if apath.split('.')[-1] in postfix: # 匹配后缀,只保存所选的文件格式。若要保存全部文件,则注释该句try:with open(filelistlog, 'a+') as fo:fo.writelines(apath)fo.write('\n')except:pass # 所以异常全部忽略即可if __name__ == '__main__':dirpath = "D:" # 指定根目录all_path(dirpath)
实现一个单例
class SingleIns:def __new__(cls, *args, **kwargs):if hasattr(cls,'_instance'):cls._instance = super().__new__(cls,*args,**kwargs)return cls._instancea = SingleIns()
b = SingleIns()
print(id(a))
print(id(b))
class A(SingleIns):pass
class B(SingleIns):pass
c = A()
d = B()
print(id(c))
print(id(d))
求位数是7的素数
a = []
for i in range(2,101):for j in range(2,i):if i%j == 0:breakelse:str1 = str(i)if str1.endswith('7'):a.append(i)
print(a)
写出下面代码的print结果(for 是根据下标遍历的)
l1 = [1,2,3,4]
l2 = [1,2,3,4]
l3 = [1,2,3,4]
l4 = [1,2,3,4]for i ,item in enumerate(l1):del item
print(l1) # [1, 2, 3, 4]for i,item in enumerate(l2):l2.remove(item)
print(l2) # [2, 4]for i,item in enumerate(l3[:]):l3.remove(item)
print(l3) # []for i,item in enumerate(l4):l4.pop(i)
print(l4) # [2, 4]