前方高能!让Python大神直呼内行的含金量操作,你听说过吗?

217 阅读5分钟

Python作为一门灵活、巧妙的语言,是否能运用到我们的日常工作中,提高工作效率、规避错误呢?相信每个人都有过这样的想法,所以小编归纳了一些关于Python的高效操作技巧分享给小伙伴们,话不多说,咱们直接上干货!

一.列表内容转字符串

在日常工作中,经常会遇到将列表转换成字符串的情况,而列表中会存在字符串、数字等类型的数据,通过map将列表中元素转换成str类型,然后通过Join函数就可以完成列表到字符串的转换。

mylist

= [1,3,‘小尧','学python ' ]

mystr= ''.join(map(str, mylist))

print(mystr)

13小尧学Python

二. 频率统计

我们在进行数据分析时,经常会用到频率统计,通过Python内置库collections中的counter函数,可以快速实现频率统计。

from collections import counter

str3 -"hahahhadferfsdfgagaga"

list3 = [1,3.4,5,3,6,7.8,4,9.'7']

str3_counter = counter(str3)

list3_counter = Counter(list3)

print(str3_counter.most_common(3))

print(list3_counter.most_common(3))

[('a',6),('h',4),('f',3)]

[(3,2),(4,2),(1,1)]

三. 繁体字转简体字

我们可以通过langconv.py和zh_wiki.py两个脚本,就可以实现繁体字转简体字的函数。

from langconv import *

sentence =‘小尧学python'

simplified_sentence = converter( ' zh-hans ').convert(sentence)

print(simplified_sentence)

小尧学python

四. 文件查阅

在日常工作中有时候找不到想要的文件时,可以通过glob库查询某文件夹下所有的文件,然后通过对文件的类型进行判断,可以输出某些特定类型的文件。

import glob

for f in glob.glob('/Users/moon/Downloads/JiQiao/material/*'):

if f.endswith('.py '):

print(f)

/Users/moon/Downloads/JiQiao/material/test1.py

/Users/moon/Downloads/JiQiao/material/test2.py

五. 变量交换

变量交换是很多编程语言容易掉进去的坑,但是在Python语言中,可以很轻松的实现变量交换。

a = 3 b = 4

print("交换前:a={}\tb={".format(a,b))

a, b = b, a

print("交换后:a={}ltb={".format(a,b))

交换前:a=3 b=4

交换后:a=4 b=3

六. 获取列表中出现次数最多的元素

如何对列表中出现最多的元素进行获取?我们可以利用列表的数量统计来判断,也可以利用counter来实现。

list9=[1,2,3,4,2,3,2]

print("方法一===============")

print(max (list9,key=list9.count) )

print("方法二===============")

print(Counter( list9 ).most_common (1))

方法一===============2

方法二===============[(2,3)]

七.变量类型、地址和内存占用量

通过type、id和sys.getsizeof 可以分别查看变量的类型、地址和占用的字节大小

var10 = "abcd"

print(""变量类型: " ,type(var10))

print("变量地址: ",id(var10))

print(""变量内存占用量:",sys.getsizeof(var10))

变量类型:

变量地址:2219642039296

变量内存占用量:53

八. 随机验证码的生成

对于随机验证码的生成,可以有很多的变化,例如随机字母、数字的组合,在平时的工作中也能经常用到。

import random

num = ‘’.join(str(i) for i in range(10)) + ‘’.join(chr(i)

for i in range(65,91))+ \’’.join(chr[i) for i in range(97,123))

for i in range(3):

print(''.join( random.sample(num,6)))

0BFAZG

xrfZ8M

TBaoJF

九.中文提取

通过正则表达式的匹配,可以在复杂的文本中提取中文词句,提升效率。

import re

str12="小尧学python,大家一起来2321学习,——#¥#4"

pattern =re.compile(u" [\u4e00-\u9fa5]+")#中文的正则表达式匹配方式result=re.findall(pattern,str12)

for word in result:

print(word)

小尧学

大家一起来

学习

十.巧用eval函数

Eval是Python的内置函数,它的作用是将传入字符串的表达式进行结果计算,并返回结果。

str13_1 ='1+2*3-4'

print(eval(str13_1))

str13_2 = 1

print(eval('str13_2+2"))

print(eval("{ 'name':'小尧学python' , 'age' :100}"))

3

3

{ ‘name ' :’小尧学python ' , 'age' : 100}

十一 .用列表“找茬”

通过set和Python中的位运算,一行代码就可以筛选出两个不同列表之间相同的元素和不同的元素,非常的方便。

list15_1 = [ 'haha' , 'wewe' , 'rtr' , 'ty' ]

list15_2 = [ 'haha' , 'wewe' ,'ertrtr','ty' ]

print("两个列表中相同的元素:", set(list15_1)&set(list15_2))

print("两个列表中不同的元素:", set(list15_1)^set(list15_2))

两个列表中相同的元素:{'ty' ,'haha' , 'wewe' }

两个列表中不同的元素:{'ertrtr','rtr'}

十二 .利用好zip

利用zip函数,可以将两个列表合并成字典,或者是直接对两个列表的数值进行操作,需要注意的是,zip函数会以长度小的列表为基准来进行操作。

keys = ["a",'b','c']

values = [1,2,3,4]

dict16 = dict(zip( keys, values))

print(dict16)

for i, j in zip(keys,values) :

print((i, j))

{'a': 1,'b': 2, 'c': 3}

(‘a’,1)

(‘b’,2)

(‘c’,3)

十三 . 匿名函数

匿名函数可以让我们在函数定义时不需要显式的定义函数,同样可以完成常规函数的功能。

def addnormal(a, b):

return a + b

add = lambda a,b :a + b

print("常规函数:",addnormal(3,4))

print("匿名函数:",add(3,4))

常规函数:7

匿名函数:7

十四 . 去除列表中重复元素

有时候我们做了重复的东西时候,这就需要在列表中善于利用set的特性来帮助我们去除重复的元素。

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

print("去重后的列表:",list(set(list19)))

去重后的列表:[1,2,3,4,5]

以上就是小编为大家分享自己所收藏的实用操作技巧啦,你学习到了吗?更多硬核Python技巧欢迎大家在评论区留言、互相交流。喜欢可以关注我,时刻为你分享Python的知识!