头图

Hello,大家好!我是陈程~

今天给大家带来一些30秒就能学会的代码片段,这些代码潜力无限,蕴含了丰富的python编程思维,应用领域非常广泛,而且学起来非常简单,希望能够大家带来一点帮助~

1.交集点

两个数组在被一个函数应用后,从第一个数组中提取出共有的元素的原元素组成一个新的数组。

def intersection_by(a, b, fn):
_b = set(map(fn, b))
return [item for item in a if fn(item) in _b]

例如:

 from math import floor
intersection_by([2.1, 1.2], [2.3, 3.4],floor)
[2.1]

2.最大值下标

返回数组中最大值的下标。

def max_element_index(arr):
return arr.index(max(arr))

例如:

max_element_index([5, 8, 9, 7, 10, 3, 0])
4

3.数组对称差

找出两个数组中不同的元素,并合成为一个新的数组。

def symmetric_difference(a, b):
    _a, _b = set(a), set(b)
    return [item for item in a if item not in _b] + [item for item in b if item not in _a]

例如:

symmetric_difference([1, 2, 3], [1, 2, 4])
[3, 4]

4.大小写转换

将英文单词的首字母大写改为小写。

upper_rest参数:设定是否将除首字母外的其他字母大小写转换。

def decapitalize(s, upper_rest=False):
return s[:1].lower() + (s[1:].upper() if upper_rest else s[1:])

例如:

decapitalize('FooBar')
'fooBar
decapitalize('FooBar', True)
'fOOBAR'

5.数组再分组

对一个列表根据所需要的大小进行细分:
效果如下:

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

return中,map的第二个参数是一个列表,map会将列表中的每一个元素用于调用第一个参数的 function 函数,返回包含每次 function 函数返回值的新列表。

最后

我的分享到此结束了,喜欢的小伙伴就点个赞

或者大家也可以关注我的账号,后续我将会继续分享一些关于python干货,谢谢!


陈程
10 声望1 粉丝