,,超实用的 30 段 Python 案例

,,超实用的 30 段 Python 案例

Python是目前最流行的语言之一。它被许多人广泛用于数据科学、机器学习、web开发、脚本和自动化。本文主要介绍超实用的30个Python案例,有需要的朋友可以参考一下。

Python是目前最流行的语言之一。它被许多人广泛用于数据科学、机器学习、web开发、脚本和自动化。

它的简单性和易用性使它如此受欢迎。

如果你正在阅读这篇文章,那么你或多或少使用过Python或者对Python感兴趣。

在本文中,我们将介绍30个简短的代码片段,您可以在30秒或更短的时间内理解和学习。

1.检查重复元素

下面的方法可以检查给定列表中是否有重复的元素。它使用set()属性,这将从列表中删除重复的元素。

def all_unique(lst):

return len(lst)==len(set(lst))

x=[1,1,2,2,3,2,3,4,5,6]

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

all_unique(x) # False

所有唯一的(y) #真

2.变位词

检测两个字符串是否是相互转置的单词(即颠倒字符顺序)。

从集合导入计数器

定义变位词(第一,第二):

返回计数器(第一)==计数器(第二)

变位词(' abcd3 ',' 3acdb') # True

3.检查内存使用情况

以下代码片段可用于检查对象的内存使用情况。

导入系统

变量=30

print(sys.getsizeof(变量))# 24

4.字节大小计算

下面的方法将以字节为单位返回字符串长度。

def byte_size(字符串):

return(len(string . encode(' utf-8 '))

字节大小(“”)# 4

字节大小('你好世界')# 11

5.重复打印字符串 N 次

下面的代码可以在不使用循环的情况下打印一个字符串n次。

n=2;

s='编程';打印(s * n);

#编程编程

6.首字母大写

下面的代码片段使用title()方法将字符串中的每个单词大写。

s='编程太棒了'

print(s.title()) #编程牛逼

7.分块

下面的方法使用range()将列表分成指定大小的较小列表。

从数学导入单元

定义块(第一个,大小):

返回列表(

map(lambda x:lst[x * size:x * size size],

list(range(0,ceil(len(lst)/size))))

组块([1,2,3,4,5],2) # [[1,2],[3,4],5]

8.压缩

下面的方法使用fliter()删除列表中的错误值(如False、None、0和" ")。

def compact(lst):

返回列表(filter(bool,lst))

紧凑([0,1,False,2,'',3,' a ',' s ',34]) # [ 1,2,3,' a ',' s ',34]

9.间隔数

以下代码片段可用于转换二维数组。

array=[' a ',' b'],['c ',' d'],['e ',' f']]

转置=zip(*array)

打印(转置)# [('a ',' c ',' e '),(' b ',' d ',' f')]

10.链式比较

下面的代码可以在一行中用不同的操作符进行多次比较。

a=3

print( 2 a 8) # True

print(1==a 2) # False

11.逗号分隔

下面的代码片段可以将字符串列表转换为单个字符串,列表中的每个元素用逗号分隔。

爱好=['篮球','足球','游泳']

打印('我的爱好是: ' ','。加入(爱好))#我的爱好是:篮球、足球、游泳

12.计算元音字母数

下面的方法可以计算一个字符串中元音字母的个数(“A”、“E”、“I”、“O”、“U”)。

进口re

def count _元音字母(字符串):

return len(len(re . find all(r '[aeiou]',str,re。IGNORECASE)))

count _元音(' foobar') # 3

count _元音(' gym') # 0

13.首字母恢复小写

以下方法可用于将给定字符串的第一个字母转换为小写。

def不大写(字符串):

返回字符串[:1]。lower() str[1:]

取消大写(' FooBar') # 'fooBar '

取消大写(' FooBar') # 'fooBar '

14.平面化

下面的方法使用递归来扩展潜在深度的列表。

定义价差(参数):

ret=[]

对于i in arg:

如果是instance(i,list):

ret.extend(一)

否则:

返回附加(I)

返回ret

def deep_flatten(lst):

结果=[]

结果.扩展(

spread(list(map(lambda x:deep _ flatten(x)if type(x)==list else x,lst)))

回送结果

deep_flatten([1,[2],[[3],4],5]) # [1,2,3,4,5]

15.差异

该方法只保留第一个迭代器中的值,从而发现两个迭代器之间的差异。

定义差异(甲、乙):

set_a=集合(一)

set_b=set(b)

比较=集合_a。差异(集合_b)

返回列表(比较)

差分([1,2,3],[1,2,4]) # [3]

16.寻找差异

下面的方法在将给定的函数应用于两个列表的每个元素后,返回两个列表之间的差值。

def difference_by(a,b,fn):

b=集合(映射(fn,b))

返回[如果fn(项目)不在b中,则返回a中项目的项目]

从数学导入楼层

difference_by([2.1,1.2]、[2.3,3.4],floor) # [1.2]

difference_by([{ 'x': 2 },{ 'x': 1 }],[{ 'x': 1 }],lambda v : v['x']) # [ { x: 2 } ]

17.链式函数调用

以下方法可在一行中调用多个函数。

def add(a,b):

返回一个b

def subtract(a,b):

返回甲-乙

a,b=4,5

打印((如果是一个b则减,否则加)(a,b)) # 9

18.检查重复值

以下方法使用集合()方法仅包含唯一元素的事实来检查列表是否具有重复值。

定义有_个重复项(第一个):

return len(lst)!=len(set(lst))

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

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

has_duplicates(x) # True

has_duplicates(y) # False

19.合并两个词典

以下方法可用于合并两个词典。

def merge_two_dicts(a,b):

复制一个

c .更新(b) #用b中的值修改a的键和值

返回c

a={ 'x': 1,' y': 2}

b={ 'y': 3,' z': 4}

print(merge_two_dicts(a,b)) # {'y': 3,' x': 1,' z': 4}

在Python 3.5及更高版本中,你还可以执行以下操作:

定义合并_字典(甲、乙)

return {**a,**b}

a={ 'x': 1,' y': 2}

b={ 'y': 3,' z': 4}

print(merge _ dictionary(a,b)) # {'y': 3,' x': 1,' z': 4}

20.将两个列表转换成一个词典

以下方法可将两个列表转换成一个词典。

定义到字典(键,值):

return dict(zip(keys,values))

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

值=[2,3,4]

print(to _ dictionary(key,values)) # {'a': 2,' c': 4,' b': 3}

21.使用枚举

以下方法将字典作为输入,然后仅返回该字典中的键。

list=['a ',' b ',' c ',' d']

对于索引,枚举(列表)中的元素:

打印('值,元素,'索引,索引,)

#('值,' a ','索引',0)

#('值,' b ','索引',1)

#('值,' c ','索引',2)

#('值,' d ','索引',3)

22.计算所需时间

以下代码段可用于计算执行特定代码所需的时间。

导入时间

start_time=time.time()

a=1

b=2

c=a b

打印(三)#3

end_time=time.time()

总时间=结束时间-开始时间

打印('时间: ',总时间)

#('时间: ',1.1205673217773438e-05)

23.Try else 指令

你可以将其他子句作为尝试/例外块的一部分,如果没有抛出异常,则执行该子句。

尝试:

2*3

除了类型错误:

打印("出现异常")

否则:

打印('感谢上帝,没有出现异常。')

#感谢上帝,没有出现例外。

24.查找最常见元素

以下方法返回列表中出现的最常见元素。

定义最频繁(列表):

return max(set(list),key=list.count)

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

最频繁(列表)

25.回文

以下方法可检查给定的字符串是否为回文结构。该方法首先将字符串转换为小写,然后从中删除非字母数字字符。最后,它会将新的字符串与反转版本进行比较。

极好的回文(字符串):

从再进口接头

s=sub('[W_]','',string.lower())

return s==s[:-1]

回文('塔可猫')#对

26.没有 if-else 语句的简单计算器

以下代码段将展示如何编写一个不使用如果-否则条件的简单计算器。

进口经营者

动作={

:operator.add,

-':操作员,

/': operator.truediv,

*': operator.mul,

* *:砰

}

打印(操作['-'](50,25)) # 25

27.元素顺序打乱

以下算法通过实现费希尔-耶茨算法在新列表中进行排序来将列表中的元素顺序随机打乱。

从副本导入深层副本

从随机导入兰丁特

定义随机播放(第一次):

temp_lst=deepcopy(lst)

m=len(temp_lst)

while (m):

m -=1

i=randint(0,m)

临时列表[m],临时列表[我]=临时列表[我],临时列表[m]

返回温度_lst

foo=[1,2,3]

shuffle(foo) # [2,3,1],foo=[1,2,3]

28.列表扁平化

以下方法可使列表扁平化,类似于Java脚本语言中的[].concat(…arr)。

定义价差(参数):

ret=[]

对于i in arg:

如果是instance(i,list):

ret.extend(一)

否则:

返回附加(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

swap(a,b) # (14,-1)

30.获取缺失键的默认值

下面的代码片段显示了如果字典不包含您要查找的键,如何获取默认值。

d={'a': 1,' b': 2}

print(d.get('c ',3)) # 3

以上是你在日常工作中可能会发现的一些有用的方法。主要是基于这个GitHub项目(https://GitHub . com/30-seconds/30 _ seconds _ of _ knowledge),在这里可以找到很多其他有用的代码片段,包括Python等编程语言和技术。

总结

以上是边肖介绍的超级实用的30个Python案例。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!

如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: