5个Python 30秒就能学会的漂亮短代码

价值君
• 阅读 879

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

点赞
收藏
评论区
推荐文章
浅梦一笑 浅梦一笑
4年前
小白建议收藏,python20条非常实用的代码
Python一直以来被诟病速度慢,影响开发效率,希望这次Guido老爷子能帮python打一场漂亮的翻身仗。这篇文章不准备介绍Python速度如何,而是给大家带来一些常用且实用的Python代码实例,几乎是开发者必备的知识点。1、合并两个字典Python3.5之后,合并字典变得容易起来。我们可以通过符号解压字典,并将多个字典传入中,实现合并。defMerg
Python进阶者 Python进阶者
3年前
盘点一个语音转换库
大家好,我是皮皮。一、前言前几天在Python星耀交流群有个叫【多隆】的粉丝问了一道Python库语音转换的问题,这里拿出来给大家分享下,一起学习下。这个是他的元素代码:fromgttsimportgTTSimportosttsgTTS(text"说中文哈觉得获得好好读",lang"zhtw")tts.save("hello1.mp3")
Irene181 Irene181
4年前
恶补了 Python 装饰器的六种写法,你随便问~
大家好,我是明哥。今天给大家分享一下关于装饰器的知识点,内容非常干,全程高能,认真吸收看完,一定会对装饰器有更深的理解。Hello,装饰器装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰
Irene181 Irene181
4年前
吹爆了这个可视化神器,上手后直接开大~
大家好,我是明哥。今天给大家推荐一个可视化神器Plotly\express,上手非常的简单,基本所有的图都只要一行代码就能绘出一张非常酷炫的可视化图。以下是这个神器的详细使用方法,文中附含大量的GIF动图示例图。注:源代码(.ipypnb文件)的获取方式,我放在文末了。记得下载1\.环境准备本文的是在如下环境下测试完成的。Pytho
Karen110 Karen110
4年前
牛批了,1行python代码就可实现炫酷可视化
之前画图一直在用matlibplot、pyecharts,最近学习了一个新的可视化库cufflinks,用了两天我已经深深爱上它了主要是因为它用法简单、图形漂亮、代码量少,用一两行代码,就能画出非常漂亮的图形下面我们一起来看看吧!1.用法简单cufflinks库主要和dataFrame数据结合使用,绘图函数就是dataFrame.iplot,记
李志宽 李志宽
4年前
小白怎么成为一个黑客?按照这个路线来!
大家好,我是周杰伦。接下来我会写系列的文章,给大家整理下网络安全的详细的学习步骤和学习资源推荐。今天的主题是——Web安全。Web安全是网络渗透中很重要的一个组成部分,今天跟大家聊一下,如何在三个月内从零基础掌握Web安全。第一个月第一周:HTMLCSS,学会网页基本格式,学会编写基本网页,表单,学会用浏览器F12检查元素,查看源码推荐学习地址:H
Python进阶者 Python进阶者
4年前
手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)
大家好,我是Python进阶者。前言前几天雪球兄在Python交流群里分享了一个获取B站视频选集的Python代码,小编觉得非常奈斯,这里整理成一篇小文章,分享给大家学习。关于雪球兄,大家应该都熟悉了,之前他写过Python实战文章,好评如潮,没来得及看的小伙伴,可以戳这里了:之前也有给大家分享B站的一些文章,感兴趣的话可以看看这个文章,Python网络爬
Stella981 Stella981
4年前
Python并发编程之深入理解yield from语法(八)
大家好,并发编程进入第八篇。直到上一篇,我们终于迎来了Python并发编程中,最高级、最重要、当然也是最难的知识点协程。当你看到这一篇的时候,请确保你对生成器的知识,有一定的了解。当然不了解,也没有关系,你只要花个几分钟的时间,来看下我上一篇文章,就能够让你认识生成器,入门协程了。再次提醒:本系列所有的代码均在
Python进阶者 Python进阶者
1年前
分享一份Python实现的视频播放器源码
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【云何应住】问了一个Python实现的视频播放器源码问题。问题如下:Python实现的视频播放器源码,能运行,简单明了,有吗?二、实现过程这里【瑜亮老师】一开始给了一个代码,可能有点老,
Python进阶者 Python进阶者
3年前
盘点一个Python中列表合并的问题
大家好,我是Python进阶者。一、前言前几天在Python钻石交流群【海南菜同学】问了一个Python列表合并的问题,提问截图如下:原始代码如下:def cppi():    list1  二、实现过程这里【瑜亮老师】给出了具体的思路,如果两个列表中元素个数相同,可以用zip,然后join,如下所示。最后给了一份代码如下所示:a顺利地解决了粉丝的问题。最后
Python进阶者 Python进阶者
2年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
价值君
价值君
Lv1
用无所谓的态度,过好随遇而安的生活
文章
5
粉丝
0
获赞
0