python经典代码,这些小技巧你都Get了么
前言
人生苦短,Python当歌!学习,其实是一个坚持、分享、交流、提高的过程。我有一整套python零基础 上百个python项目案例视频资料 就业指导分享,需要的话关注 转发、然后私信我“01”即可免费获取
资料展示:
Python是机器学习最广泛采用的编程语言,它最重要的优势在于编程的易用性。如果读者对基本的Python语法已经有一些了解,那么这篇文章可能会给你一些启发.
作者简单概览了30段代码,它们都是平常非常实用的技巧,我们只要花几分钟就能从头到尾浏览一遍.
1.重复元素判定
以下方法可以检查给定列表是不是存在重复元素,它会使用set()函数来移除所有重复元素。
DEF ALL_UNIQUE(Lst):
返回len(Lst)==len(set(Lst))
X=[1,1,2,2,3,3,4,5,6]
Y=[1,2,3,4,5]
全唯一(X)#假
全唯一(Y)
#真
2.字符元素组成判定
检查两个字符串的组成元素是不是一样的.
从…收藏进口计数器
德夫 字谜(第一,第二) :
回归计数器(第一)==计数器(第二)
阿纳格拉姆“abc d3” , “3 acdb”
)
#真
3.内存占用
下面的代码块可以检查变量变量所占用的内存.
进口赛斯
变量=30
列印
(sys.getsize of(变量))
# 24
4.字节占用
下面的代码块可以检查字符串占用的字节数.
德夫 字节大小(字符串) :
回归(条形码)乌特夫-8 )))
字节大小(*咧嘴笑: ) # 4
字节大小(你好世界
)
# 11
5.打印N次字符串
该代码块不需要循环语句就能打印N次字符串.
n=2;
S=“方案编制” ;
打印(s*n);
#编程
6.大写第一个字母
以下代码块会使用title()方法,从而大写字符串中每一个单词的首字母。
S=“编程很棒”
打印(S.title())
#编程太棒了
7.分块
给定具体的大小,定义一个函数以按照这个大小切割列表.
从…数学进口赛尔
德夫 块体(第一,大小) :
回归名单(
地图(兰卜达X:LST[x*大小:X*大小 大小],
清单(范围)0)))
块(1 , 2 , 3 , 4 , 5 ], 2 )
# [[1,2],[3,4],5]
8.压缩
这个方法可以将布尔型的值去掉,例如(false,None,0,“”),它使用filter()函数。
德夫 紧凑型 :
回归列表(过滤器(bool,lst))
紧凑(0 , 1 , 假的 , 2 , , 3 , a , s , 34 ])
#[1,2,3,a,s,34]
9.解包
如下代码段可以将打包好的成对列表解开成两组不同的元组.
列阵 = [[ a , b ], [ c , d ], [ e , f ]]
Transsposed=zip(*)列阵 )
印刷(转置)
# [( a , c , e ), ( b , d
,
f
)]
10.链式对比
我们可以在一行代码中使用不同的运算符对比多个不同的元素.
A=3
列印(2<a<8)#真
列印
(1=a<2)
#假
11.逗号连接
下面的代码可以将列表连接成单个字符串,且每一个元素间的分隔方式设置为了逗号.
爱好=[“篮球” , “足球” , “游泳” ]
打印(“我的爱好是:” ", "加入(爱好)
#我的爱好是:篮球,足球,游泳
12.元音统计
以下方法将统计字符串中的元音(‘a’,‘e’,‘i’,‘o’,‘u’)的个数,它是通过正则表达式做的。
进口Re
德夫 计数元音(Str) :
回归连(重.findall)r[aeiou]))
计数元音(前叶 ) # 3
计数元音(健身房
)
# 0
13.首字母小写
如下方法将令给定字符串的第一个字符统一为小写.
德夫 去尖化(字符串) :
回归斯塔尔1.低() str[1 :]
去尖化快餐店 ) #foobar
去尖化快餐店
)
#foobar
14.展开列表
该方法将通过递归的方式将列表的嵌套展开为单个列表.
德夫 传播(Arg) :
RET=[]
为 i 在……里面Arg:
如果ISINE(I,List):
再延期(I)
其他 :
重附录(一)
回归RET
德夫 深扁平 :
结果=[]
结果.扩展(
散布(列表)(地图(地图))兰卜达X:深平(X)如果类型(X)==列表其他(X,第一)
回归结果
深扁平(1 , [ 2 ], [[ 3 ], 4 ], 5
])
# [1,2,3,4,5]
15.列表的差
该方法将返回第一个列表的元素,其不在第二个列表内.如果同时要反馈第二个列表独有的元素,还需要加一句SET_b.Difference(SET_A)。
差(a,b):
集a=集(A)
集b=集(B)
比较=SET_a.差分(SET_B)
回归 列单(比较)
差异 ([ 1 , 2 , 3 ], [ 1 , 2 , 4
])
# [3]
16.通过函数取差
如下方法首先会应用一个给定的函数,然后再返回应用函数后结果有差别的列表元素.
德夫 差(a,b,fn) :
B=集合(地图(FN,b))
回归[项目为项目在……里面 a 如果FN(项目)不 在……里面(B)
从…数学进口地板
差[差]2.1 , 1.2 ], [ 2.3 , 3.4],楼层)# [1.2]
差比([{])x : 2 }, { x : 1 }], [{ x : 1 }], 兰卜达V:V[x ])
#[{x:2}]
17.链式函数调用
你可以在一行代码内调用多个函数.
德夫 增加(a,b) :
回归A b
德夫 减去(a,b) :
回归甲乙
a,b=4 , 5
打印(减法)如果A>b其他
(a,b))
# 9
18.检查重复项
如下代码将检查两个列表是不是有重复项.
DEF有重复(Lst):
返回len(Lst)!=len(set(Lst))
X=[1,2,3,4,5,5]
Y=[1,2,3,4,5]
有重复(X)#真
有重复(Y)
#假
19.合并两个字典
下面的方法将用于合并两个字典.
德夫 合并二段(a,b) :
C=.拷贝()#复制一份
c.更新(B)#用b中的键和值修改a的键和值
回归 c
A={x : 1 , y : 2 }
B={y : 3 , z : 4 }
打印(Merge_Two_dicts(a,b))
#{y:3,x:1,z:4}
在Python3.5或更高版本中,我们也可以用以下方式合并字典:
德夫合并字典(a,b)
回归
{**a,**b}
A={x : 1 , y : 2 }
B={y : 3 , z : 4 }
打印(合并字典(a,b))
# { y : 3 , x : 1 , z
:
4
}
20.将两个列表转化为字典
如下方法将会把两个列表转化为单个字典.
词典(钥匙 , 价值 ):
回归(拉链)钥匙 , 价值 ))
钥匙 = [ “A” , “b” , “c” ]
价值 = [ 2 , 3 , 4 ]
列印(查字典)钥匙 , 价值 ))
#{a:2,c:4,b:3}
21.使用枚举
我们常用for循环来遍历某个列表,同样我们也能枚举列表的索引与值.
列表=[“A” , “b” , “c” , “d” ]
为索引、元素在……里面列举(名单):
列印 ( “价值”、元素,“索引”,索引,)
# ( 价值 , a , 指数 , 0 )
# ( 价值 , b , 指数 , 1 )
#( 价值 , c , 指数 , 2 )
# ( 价值 , d , 指数
,
3
)
22.执行时间
如下代码块可以用来计算执行特定代码所花费的时间.
进口时间
Start_time=time.time()
A=1
B=2
C=a b
打印(C)#3
end_time=time.time()
总时间=结束时间-开始时间
打印(“时间:”,总时间)
#(时间:,1.1205673217773438e-05)
23.转学
我们在使用尝试/除了语句的时候也可以加一个Other子句,如果没有触发错误的话,这个子句就会被运行。
试一试 :
2 * 3
除TypeError:
打印(“提出了例外情况” )
其他 :
打印(“谢天谢地,没有例外。” )
谢天谢地,没有例外。
24.元素频率
下面的方法会根据元素频率取列表中最常见的元素.
最常使用的航班(列单 ):
回归最大(集)列单),Key=列单.点票)
列单 = [ 1 , 2 , 1 , 2 , 3 , 2 , 1 , 4 , 2 ]
最常(
列单
)
25.回文序列
以下方法会检查给定的字符串是不是回文序列,它首先会把所有字母转化为小写,并移除非英文字母符号.最后,它会对比字符串与反向字符串是否相等,相等则表示为回文序列.
德夫 回文(字符串) :
从…Re进口分
S=SUB([W_]、字符串.lower()
回归S=s[::-1 ]
回文(塔科猫
)
#真
26.不使用if-or的计算子
这一段代码可以不使用条件语句就实现加减乘除、求幂操作,它通过字典这一数据结构实现:
进口 操作者
行动={
" " : 操作者.加上
"-" : 操作者.潜艇,
"/" : 操作者.特鲁迪夫
"*" : 操作者.穆尔
"**" : POW
}
印刷(行动[行动])- ]( 50 , 25
)) #
25
27.Shuffle
该算法会打乱列表元素的顺序,它主要会通过Fisher-Yates算法对新列表进行排序:
从…复制进口深度复制
从…随机进口朗
德夫 洗牌 :
temp_lst=深度复制(Lst)
M=len(Temp_Lst)
当(M):
M-=1
I=RANDINT(0,m)
temp_lst[m],temp_lst[i]=temp_lst[i],temp_lst[m]
回归温度1
Foo=[1 , 2 , 3 ]
洗牌(Foo)
#[2,3,1],Foo=[1,2,3]
28.展开列表
将列表内的所有元素,包括子列表,都展开成一个列表.
德夫 传播(Arg) :
RET=[]
为 i 在……里面Arg:
如果ISINE(I,List):
再延期(I)
其他 :
重附录(一)
回归RET
蔓延(1 , 2 , 3 ,[ 4 , 5 , 6 ],[ 7 ], 8 , 9
])
# [1,2,3,4,5,6,7,8,9]
29.交换值
不需要额外的操作就能交换两个变量的值.
德夫 互换(a,b) :
回归B,a
a,b=-1 , 14
互换(a,b)# (14, -1)
蔓延(1 , 2 , 3 ,[ 4 , 5 , 6 ],[ 7 ], 8 , 9
])
# [1,2,3,4,5,6,7,8,9]
30.字典默认值
通过键取对应的值值,可以通过以下方式设置默认值。如果GET()方法没有设置默认值,那么如果遇到不存在的键,则会返回None。
D={a : 1, b : 2}
列印(d.得到(c , 3)) # 3
参考链接:
https://towardsdatascience.com/30-helpful-python-snippets-that-you-can-learn-in-30-seconds-or-less-69bb49204172
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com