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的知识!
网友评论