iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实用例子有哪些
  • 111
分享到

Python实用例子有哪些

2023-06-02 01:06:25 111人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“python实用例子有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python实用例子有哪些”吧!一、基本操作1 链式比较i=3print(1<i<3)

这篇文章主要讲解了“python实用例子有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python实用例子有哪些”吧!

一、基本操作

1 链式比较

i=3print(1<i<3)#Falseprint(1<i<=3)#True

2 不用else和if实现计算器

fromoperatorimport*defcalculator(a,b,k):return{'+':add,'-':sub,'*':mul,'/':truediv,'**':pow}[k](a,b)calculator(1,2,'+')#3calculator(3,4,'**')#81

3 函数链

fromoperatorimport(add,sub)defadd_or_sub(a,b,oper):return(addifoper=='+'elsesub)(a,b)add_or_sub(1,2,'-')#-1

4 求字符串的字节长度

defstr_byte_len(mystr):return(len(mystr.encode('utf-8')))str_byte_len('ilovepython')#13(个字节)str_byte_len('字符')#6(个字节)

5 寻找第n次出现位置

defsearch_n(s,c,n):size=0fori,xinenumerate(s):ifx==c:size+=1ifsize==n:returnireturn-1print(search_n("fdasadfadf","a",3))#结果为7,正确print(search_n("fdasadfadf","a",30))#结果为-1,正确

6 去掉最高最低求平均

defscore_mean(lst):lst.sort()lst2=lst[1:(len(lst)-1)]returnround((sum(lst2)/len(lst2)),2)score_mean([9.1,9.0,8.1,9.7,19,8.2,8.6,9.8])#9.07

7 交换元素

defswap(a,b):returnb,aswap(1,0)#(0,1)
二、基础算法

1 二分搜索

defbinarySearch(arr,left,right,x):whileleft<=right:mid=int(left+(right-left)/2);#找到中间位置。求中点写成(left+right)/2更容易溢出,所以不建议这样写#检查x是否出现在位置midifarr[mid]==x:print('found%d在索引位置%d处'%(x,mid))returnmid#假如x更大,则不可能出现在左半部分elifarr[mid]<x:left=mid+1#搜索区间变为[mid+1,right]print('区间缩小为[%d,%d]'%(mid+1,right))elifx<arr[mid]:right=mid-1#搜索区间变为[left,mid-1]print('区间缩小为[%d,%d]'%(left,mid-1))return-1

2 距离矩阵

x,y=mgrid[0:5,0:5]list(map(lambdaxe,ye:[(ex,ey)forex,eyinzip(xe,ye)],x,y))[[(0,0),(0,1),(0,2),(0,3),(0,4)],[(1,0),(1,1),(1,2),(1,3),(1,4)],[(2,0),(2,1),(2,2),(2,3),(2,4)],[(3,0),(3,1),(3,2),(3,3),(3,4)],[(4,0),(4,1),(4,2),(4,3),(4,4)]]
三、列表

1 打印乘法表

foriinrange(1,10):forjinrange(1,i+1):print('{0}*{1}={2}'.fORMat(j,i,j*i),end="\t")print()

结果:

1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52*5=103*5=154*5=205*5=251*6=62*6=123*6=184*6=245*6=306*6=361*7=72*7=143*7=214*7=285*7=356*7=427*7=491*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

2 嵌套数组完全展开

fromcollections.abcimport*defflatten(input_arr,output_arr=None):ifoutput_arrisNone:output_arr=[]foreleininput_arr:ifisinstance(ele,Iterable):#判断ele是否可迭代flatten(ele,output_arr)#尾数递归else:output_arr.append(ele)#产生结果returnoutput_arrflatten([[1,2,3],[4,5]],[6,7])#[6,7,1,2,3,4,5]

3 将list等分为子组

frommathimportceildefdivide(lst,size):ifsize<=0:return[lst]return[lst[i*size:(i+1)*size]foriinrange(0,ceil(len(lst)/size))]r=divide([1,3,5,7,9],2)#[[1,3],[5,7],[9]]

4 生成fibonacci序列前n项

deffibonacci(n):ifn<=1:return[1]fib=[1,1]whilelen(fib)<n:fib.append(fib[len(fib)-1]+fib[len(fib)-2])returnfibfibonacci(5)#[1,1,2,3,5]

5 过滤掉各种空值

deffilter_false(lst):returnlist(filter(bool,lst))filter_false([None,0,False,'',[],'ok',[1,2]])#['ok',[1,2]]

6 返回列表头元素

defhead(lst):returnlst[0]iflen(lst)>0elseNonehead([])#Nonehead([3,4,1])#3

7 返回列表尾元素

deftail(lst):returnlst[-1]iflen(lst)>0elseNoneprint(tail([]))#Noneprint(tail([3,4,1]))#1

8 对象转换为可迭代类型

fromcollections.abcimportIterabledefcast_iterable(val):returnvalifisinstance(val,Iterable)else[val]cast_iterable('foo')#foocast_iterable(12)#[12]cast_iterable({'foo':12})#{'foo':12}

9 求更长列表

defmax_length(*lst):returnmax(*lst,key=lambdav:len(v))r=max_length([1,2,3],[4,5,6,7],[8])#[4,5,6,7]

10 出现最多元素

defmax_frequency(lst):returnmax(lst,default='列表为空',key=lambdav:lst.count(v))lst=[1,3,3,2,1,1,2]max_frequency(lst)#1

11 求多个列表的最大值

defmax_lists(*lst):returnmax(max(*lst,key=lambdav:max(v)))max_lists([1,2,3],[6,7,8],[4,5])#8

12 求多个列表的最小值

defmin_lists(*lst):returnmin(min(*lst,key=lambdav:max(v)))min_lists([1,2,3],[6,7,8],[4,5])#1

13 检查list是否有重复元素

defhas_duplicates(lst):returnlen(lst)==len(set(lst))x=[1,1,2,2,3,2,3,4,5,6]y=[1,2,3,4,5]has_duplicates(x)#Falsehas_duplicates(y)#True

14 求列表中所有重复元素

fromcollectionsimportCounterdeffind_all_duplicates(lst):c=Counter(lst)returnlist(filter(lambdak:c[k]>1,c))find_all_duplicates([1,2,2,3,3,3])#[2,3]

15 列表反转

defreverse(lst):returnlst[::-1]reverse([1,-2,3,4,1,2])#[2,1,4,3,-2,1]

16 浮点数等差数列

defrang(start,stop,n):start,stop,n=float('%.2f'%start),float('%.2f'%stop),int('%.d'%n)step=(stop-start)/nlst=[start]whilen>0:start,n=start+step,n-1lst.append(round((start),2))returnlstrang(1,8,10)#[1.0,1.7,2.4,3.1,3.8,4.5,5.2,5.9,6.6,7.3,8.0]
四、字典

1 字典值最大的键值对列表

defmax_pairs(dic):iflen(dic)==0:returndicmax_val=max(map(lambdav:v[1],dic.items()))return[itemforitemindic.items()ifitem[1]==max_val]max_pairs({'a':-10,'b':5,'c':3,'d':5})#[('b',5),('d',5)]

2 字典值最小的键值对列表

defmin_pairs(dic):iflen(dic)==0:return[]min_val=min(map(lambdav:v[1],dic.items()))return[itemforitemindic.items()ifitem[1]==min_val]min_pairs({})#[]r=min_pairs({'a':-10,'b':5,'c':3,'d':5})print(r)#[('b',5),('d',5)]

3 合并两个字典

defmerge_dict2(dic1,dic2):return{**dic1,**dic2}#python3.5后支持的一行代码实现合并字典merge_dict({'a':1,'b':2},{'c':3})#{'a':1,'b':2,'c':3}

4 求字典前n个最大值

fromheapqimportnlargest#返回字典d前n个最大值对应的键deftopn_dict(d,n):returnnlargest(n,d,key=lambdak:d[k])topn_dict({'a':10,'b':8,'c':9,'d':10},3)#['a','d','c']

5 求最小键值对

d={'a':-10,'b':5,'c':3,'d':5}min(d.items(),key=lambdax:x[1])#('a',-10)
五、集合

1 互为变位词

fromcollectionsimportCounter#检查两个字符串是否相同字母异序词,简称:互为变位词defanagram(str1,str2):returnCounter(str1)==Counter(str2)anagram('eleven+two','twelve+one')#True这是一对神器的变位词anagram('eleven','twelve')#False
六、文件操作

1 查找指定文件格式文件

importosdeffind_file(work_dir,extension='jpg'):lst=[]forfilenameinos.listdir(work_dir):print(filename)splits=os.path.splitext(filename)ext=splits[1]#拿到扩展名ifext=='.'+extension:lst.append(filename)returnlstfind_file('.','md')#返回所有目录下的md文件
七、正则和爬虫

1 爬取天气数据并解析温度值

素材来自朋友袁绍

importrequestsfromlxmlimportetreeimportpandasaspdimportreurl='Http://www.weather.com.cn/weather1d/101010100.shtml#input'withrequests.get(url)asres:content=res.contenthtml=etree.HTML(content)

通过lxml模块提取值,lxml比beautifulsoup解析在某些场合更高效

location=html.xpath('//*[@id="around"]//a[@target="_blank"]/span/text()')temperature=html.xpath('//*[@id="around"]/div/ul/li/a/i/text()')

结果:

['香河','涿州','唐山','沧州','天津','廊坊','太原','石家庄','涿鹿','张家口','保定','三河','北京孔庙','北京国子监','中国地质博物馆','月坛公园','明城墙遗址公园','北京市规划展览馆','什刹海','南锣鼓巷','天坛公园','北海公园','景山公园','北京海洋馆']['11/-5°C','14/-5°C','12/-6°C','12/-5°C','11/-1°C','11/-5°C','8/-7°C','13/-2°C','8/-6°C','5/-9°C','14/-6°C','11/-4°C','13/-3°C','13/-3°C','12/-3°C','12/-3°C','13/-3°C','12/-2°C','12/-3°C','13/-3°C','12/-2°C','12/-2°C','12/-2°C','12/-3°C']
df=pd.DataFrame({'location':location,'temperature':temperature})print('温度列')print(df['temperature'])

正则解析温度值

df['high']=df['temperature'].apply(lambdax:int(re.match('(-?[0-9]*?)/-?[0-9]*?°C',x).group(1)))df['low']=df['temperature'].apply(lambdax:int(re.match('-?[0-9]*?/(-?[0-9]*?)°C',x).group(1)))print(df)

详细说明子字符创捕获

除了简单地判断是否匹配之外,正则表达式还有提取子串的强大功能。用()表示的就是要提取的分组(group)。比如:^(\d{3})-(\d{3,8})$分别定义了两个组,可以直接从匹配的字符串中提取出区号和本地号码

m=re.match(r'^(\d{3})-(\d{3,8})$','010-12345')print(m.group(0))print(m.group(1))print(m.group(2))#010-12345#010#12345

如果正则表达式中定义了组,就可以在Match对象上用group()方法提取出子串来。

注意到group(0)永远是原始字符串,group(1)、group(2)……表示第1、2、……个子串。

最终结果

Name:temperature,dtype:objectlocationtemperaturehighlow0香河11/-5°C11-51涿州14/-5°C14-52唐山12/-6°C12-63沧州12/-5°C12-54天津11/-1°C11-15廊坊11/-5°C11-56太原8/-7°C8-77石家庄13/-2°C13-28涿鹿8/-6°C8-69张家口5/-9°C5-910保定14/-6°C14-611三河11/-4°C11-412北京孔庙13/-3°C13-313北京国子监13/-3°C13-314中国地质博物馆12/-3°C12-315月坛公园12/-3°C12-316明城墙遗址公园13/-3°C13-317北京市规划展览馆12/-2°C12-218什刹海12/-3°C12-319南锣鼓巷13/-3°C13-320天坛公园12/-2°C12-221北海公园12/-2°C12-222景山公园12/-2°C12-223北京海洋馆12/-3°C12-3

2 批量转化驼峰格式

importredefcamel(s):s=re.sub(r"(\s|_|-)+","",s).title().replace("","")returns[0].lower()+s[1:]#批量转化defbatch_camel(slist):return[camel(s)forsinslist]batch_camel(['student_id','student\tname','student-add'])#['studentId','studentName','studentAdd']
八、绘图

1 turtle绘制奥运五环图
结果:

Python实用例子有哪些

2 turtle绘制漫天雪花
结果:

Python实用例子有哪些

3 4种不同颜色的色块,它们的颜色真的不同吗?

Python实用例子有哪些

4 词频云图

importhashlibimportpandasaspdfromWordcloudimportWordCloudgeo_data=pd.read_excel(r"../data/geo_data.xlsx")words=','.join(xforxingeo_data['city']ifx!=[])#筛选出非空列表值wc=WordCloud(background_color="green",#背景颜色"green"绿色max_words=100,#显示最大词数font_path='./fonts/simhei.ttf',#显示中文min_font_size=5,max_font_size=100,width=500#图幅宽度)x=wc.generate(words)x.to_file('../data/geo_data.png')

Python实用例子有哪些

八、生成器

1 求斐波那契数列前n项(生成器版)

deffibonacci(n):a,b=1,1for_inrange(n):yieldaa,b=b,a+blist(fibonacci(5))#[1,1,2,3,5]

2 将list等分为子组(生成器版)

frommathimportceildefdivide_iter(lst,n):ifn<=0:yieldlstreturni,div=0,ceil(len(lst)/n)whilei<n:yieldlst[i*div:(i+1)*div]i+=1list(divide_iter([1,2,3,4,5],0))#[[1,2,3,4,5]]list(divide_iter([1,2,3,4,5],2))#[[1,2,3],[4,5]]
九、keras

1 Keras入门例子

importnumpyasnpfromkeras.modelsimportSequentialfromkeras.layersimportDensedata=np.random.random((1000,1000))labels=np.random.randint(2,size=(1000,1))model=Sequential()model.add(Dense(32,activation='relu',input_dim=100))model.add(Dense(1,activation='sigmoid'))model.compile(optimize='rmsprop',loss='binary_crossentropy',metrics=['accuracy'])model.fit(data,labels,epochs=10,batch_size=32)predictions=model.predict(data)

感谢各位的阅读,以上就是“Python实用例子有哪些”的内容了,经过本文的学习后,相信大家对Python实用例子有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Python实用例子有哪些

本文链接: https://www.lsjlt.com/news/228333.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实用例子有哪些
    这篇文章主要讲解了“Python实用例子有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python实用例子有哪些”吧!一、基本操作1 链式比较i=3print(1<i<3)...
    99+
    2023-06-02
  • 有哪些Python实用案例
    本篇内容主要讲解“有哪些Python实用案例”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些Python实用案例”吧!1. 整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,...
    99+
    2023-06-16
  • 有哪些Shell常用命令和例子
    本篇内容主要讲解“有哪些Shell常用命令和例子”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些Shell常用命令和例子”吧!在Windows下的用户要使用shell命令符的话请先安装cyg...
    99+
    2023-06-09
  • python实战案例有哪些
    这篇文章将为大家详细讲解有关python实战案例有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。任务1、循环输出26个字母对应的ASCII码值x=97#代表的是a的ASCII值for _&n...
    99+
    2023-06-29
  • Python小白的实用案例有哪些
    本篇内容介绍了“Python小白的实用案例有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!案例一:排列组合要求:将4个数字可能组成的所有...
    99+
    2023-06-17
  • python钩子函数的作用有哪些
    Python钩子函数的作用有以下几个: 在特定事件发生时触发执行。钩子函数可以在特定事件发生时被调用,比如在程序启动、关闭、异常...
    99+
    2023-10-24
    python
  • python学习实操案例有哪些
    这篇文章主要介绍了python学习实操案例有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。任务1、将指定的十进制转换为二进制、八进制、十六进制二进制转换第一种和第二种写法...
    99+
    2023-06-29
  • watch使用实例有哪些
    这篇文章主要介绍“watch使用实例有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“watch使用实例有哪些”文章能帮助大家解决问题。watch是一个非常实用的命令,基本所有的Linux发行版都...
    99+
    2023-06-28
  • 用python实现五子棋实例
    本文实例为大家分享了用python实现五子棋的具体代码,供大家参考,具体内容如下 # 制作一个棋盘 """ ++++++++++ ++++++++++ ++++++++++ ++++...
    99+
    2024-04-02
  • 有哪些实用Python库
    这篇文章主要讲解了“有哪些实用Python库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些实用Python库”吧!Wget从网络上提取数据是数据科学家的重要任务之一。Wget 是一个免...
    99+
    2023-06-16
  • spark常用算子有哪些
    这篇文章将为大家详细讲解有关spark常用算子有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一些经常用到的RDD算子map:将rdd的值输入,并返回一个自定义的类型,如下输入原始类型,...
    99+
    2023-06-02
  • python实现单例的方法有哪些
    这篇“python实现单例的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python实现单例的方法有哪些”文章吧...
    99+
    2023-07-05
  • 实用的Python库有哪些
    这篇文章主要讲解了“实用的Python库有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“实用的Python库有哪些”吧!数据收集大部分数据分析项目都始于数据收集和提取。在一些情况下,当为...
    99+
    2023-06-16
  • mysql有哪些子句
    MySQL是一种常用的关系型数据库管理系统,提供了丰富的SQL语言和子句来对数据库进行操作和查询:1、SELECT,用于从数据库中查询数据;2、UPDATE,用于更新数据库表中的数据;3、DELETE,用于从数据库表中删除数据;4、WHER...
    99+
    2023-08-01
  • Python实用技巧有哪些
    这篇文章主要讲解了“Python实用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python实用技巧有哪些”吧!整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,...
    99+
    2023-06-16
  • Python实用操作有哪些
    这篇文章主要介绍“Python实用操作有哪些”,在日常操作中,相信很多人在Python实用操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python实用操作有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-05
  • Python有哪些实用脚本
    这篇文章主要讲解了“Python有哪些实用脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python有哪些实用脚本”吧!1.解决 linux 下 unzip 乱码的问题。import&n...
    99+
    2023-06-16
  • 有哪些Python实用技巧
    本篇内容主要讲解“有哪些Python实用技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些Python实用技巧”吧!1. 使用youtube-dl下载YouTube视频你可以使用Pytho...
    99+
    2023-06-16
  • python mock 的一些小例子
    1.假如我想要mock库中date对象,但是我只想mock today()这个方法,就是today()返回我想要的结果,但是其他的date的初始化方法不能有所改变。 from datatime import date with patc...
    99+
    2023-01-31
    些小 例子 python
  • 实用的Python脚本有哪些
    本篇内容介绍了“实用的Python脚本有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!系统提示工具这个工具用到了win10toast库来...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作