Python是现阶段最时兴的語言之一,它在计算机科学、深度学习、web开发设计、脚本制作撰写、自动化技术层面被人们普遍应用。它的简易和可维护性铸就了它这般时兴的缘故。
在文中中,人们将会详细介绍 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
all_unique(y) # True
2.变位词
检验2个字符数组是不是相互之间变位词(即相互之间错乱空格符次序)
from collections import Counter
def anagram(first, second):
return Counter(first) == Counter(second)
anagram(“abcd3”, “3acdb”) # True
3.查验运行内存应用状况
下列代码段能用来查验另一半的运行内存应用状况。
import sys
variable = 30
print(sys.getsizeof(variable)) # 24
4.字节数尺寸测算
下列方式将以字节数为企业回到字符串长度。
def byte_size(string):
return(len(string.encode( utf-8 )))
byte_size( ? ) # 4
byte_size( Hello World ) # 11
5.反复复印字符数组 N 次
下列编码不用应用循环系统就能复印某一字符数组 n 次
n = 2;
s =“Programming”; print(s * n);
ProgrammingProgramming
6.首字母大写
下列代码段应用 title() 方式将字符数组内的每一词开展首字母大写。
s = “programming is awesome”
print(s.title()) # Programming Is Awesome
7.分层
下列方式应用 range() 将目录分层为特定尺寸的较小目录。
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 和“”)
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个二维数组。
array = [[ a , b ], [ c , d ], [ e , f ]]
transposed = zip(*array)
print(transposed) # [( a , c , e ), ( b , d , f )]
10.链条式较为
下列编码能够在一列连用各种各样操作符开展数次较为。
a = 3
print( 2 < a < 8) # True
print(1 == a < 2) # False
11.逗号隔开
下列代码段可将字符数组目录变换为单独字符数组,目录中的每一原素用逗号隔开。
hobbies = [“basketball”, “football”, “swimming”]
print("My hobbies are: " + ", ".join(hobbies)) # My hobbies are: basketball, football, swimming
12.测算元音字母数
下列方式可测算字符数组中元音字母(‘a’, ‘e’, ‘i’, ‘o’, ‘u’)的数量。
import re
def count_vowels(str):
return len(len(re.findall(r [aeiou] , str, re.IGNORECASE)))
count_vowels( foobar ) # 3
count_vowels( gym ) # 0
13.首字母修复小写字母
下列方式可用以将给出字符数组的第一位英文字母变换为小写字母。
def decapitalize(string):
return str[:1].lower() + str[1:]
decapitalize( FooBar ) # fooBar
decapitalize( FooBar ) # fooBar
14.平面化
下列方式应用递归来进行潜在性的深度1目录。
def spread(arg):
ret = []
for i in arg:
if isinstance(i, list):
ret.extend(i)
else:
ret.append(i)
return ret
def deep_flatten(lst):
result = []
result.extend(
spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))
http://caishendaka.cn/index.php?upcache=1
return result
deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]
15.差别
该方式只保存第一位迭代器中的值,进而发觉2个迭代器中间的差别。
def difference(a, b):
set_a = set(a)
set_b = set(b)
comparison = set_a.difference(set_b)
return list(comparison)
difference([1,2,3], [1,2,4]) # [3]