python经典代码,这些小技巧你都Get了么

python经典代码,这些小技巧你都Get了么(1)

前言

人生苦短,Python当歌!学习,其实是一个坚持、分享、交流、提高的过程。我有一整套python零基础 上百个python项目案例视频资料 就业指导分享,需要的话关注 转发、然后私信我“01”即可免费获取

资料展示:

python经典代码,这些小技巧你都Get了么(2)

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

    分享
    投诉
    首页