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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。