在本文中,我们将会介绍 30 个简短的代码片段,你可以在 30 秒或更短的时间里理解和学习这些代码片段。
1.检查重复元素
下面的方法可以检查给定列表中是否有重复的元素。它使用了 set()
属性,该属性将会从列表中删除重复的元素。
1
2
3
4
5
6
7
|
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
all_unique(y) # True
|
2.变位词
检测两个字符串是否互为变位词(即互相颠倒字符顺序)
1
2
3
4
5
|
from collections import Counter
def anagram(first, second):
return Counter(first) = = Counter(second)
anagram( "abcd3" , "3acdb" ) # True
|
3.检查内存使用情况
以下代码段可用来检查对象的内存使用情况。
1
2
3
|
import sys
variable = 30 print (sys.getsizeof(variable)) # 24
|
4.字节大小计算
以下方法将以字节为单位返回字符串长度。
1
2
3
4
5
|
def byte_size(string):
return ( len (string.encode( 'utf-8' )))
byte_size( ' ' ) # 4
byte_size( 'Hello World' ) # 11
|
5.重复打印字符串 N 次
以下代码不需要使用循环即可打印某个字符串 n 次
1
2
3
|
n = 2 ;
s = "Programming" ; print (s * n);
# ProgrammingProgramming
|
6.首字母大写
以下代码段使用 title()
方法将字符串内的每个词进行首字母大写。
1
2
|
s = "programming is awesome" print (s.title()) # Programming Is Awesome
|
7.分块
以下方法使用 range()
将列表分块为指定大小的较小列表。
1
2
3
4
5
6
7
|
from math import ceil
def chunk(lst, size):
return list (
map ( lambda x: lst[x * size:x * size + size],
list ( range ( 0 , ceil( len (lst) / size)))))
chunk([ 1 , 2 , 3 , 4 , 5 ], 2 ) # [[1,2],[3,4],5]
|
8.压缩
以下方法使用 fliter()
删除列表中的错误值(如:False
, None
, 0 和“”)
1
2
3
|
def compact(lst):
return list ( filter ( bool , lst))
compact([ 0 , 1 , False , 2 , ' ', 3, ' a ', ' s ', 34]) # [ 1, 2, 3, ' a ', ' s', 34 ]
|
9.间隔数
以下代码段可以用来转换一个二维数组。
1
2
3
|
array = [[ 'a' , 'b' ], [ 'c' , 'd' ], [ 'e' , 'f' ]]
transposed = zip ( * array)
print (transposed) # [('a', 'c', 'e'), ('b', 'd', 'f')]
|
10.链式比较
以下代码可以在一行中用各种操作符进行多次比较。
1
2
3
|
a = 3 print ( 2 < a < 8 ) # True
print ( 1 = = a < 2 ) # False
|
到此这篇关于超实用的 10 段 Python 案例的文章就介绍到这了,更多相关Python 案例内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://zhuanlan.zhihu.com/p/89484518