关于python:5个Python-30秒就能学会的漂亮短代码

4次阅读

共计 1064 个字符,预计需要花费 3 分钟才能阅读完成。

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 干货,谢谢!

正文完
 0