10 个 惊艳的 Pythonic 单行代码
自从我用 Python 编写第一行代码以来,我就被它的简单性、出色的可读性和流行的单行代码所吸引。在下文中,我想介绍和解释其中的一些单行代码——也许有一些你还不知道并且对你的下一个 Python 项目很有用。
1.交换两个变量
#a = 1; b = 2
a, b = b, a
#print(a,b) >> 2 1
我们从经典开始:通过简单地交换赋值位置来交换变量的值——我认为这是最直观的方式。无需使用临时变量。它甚至适用于两个以上的变量。
2.多变量赋值
a, b, *c = [1,2,3,4,5]
#print(a,b,c) >> 1 2 [3, 4, 5]
交换变量实际上是 Python 一次分配多个变量的能力的一个特例。在这里你可以使用它来将列表元素分配给给定的变量,这也称为拆包。将再次打包剩余的值,这会产生一个子列表c。它甚至适用于每个其他位置(例如列表的开头或中间部分)。
3. 对列表的每个第二个元素求和
#a = [1,2,3,4,5,6]
s = sum(a[1::2])
#print(s) >> 12
这里不需要特殊的 reduce 函数,sum只需添加每个给定 iterable 的项目。此处使用扩展切片语法[::]来返回每隔一个元素。你可以将其读作[start : stop : step],因此[1::2]转换为从索引 1 的元素(第二个元素)开始,直到列表结束才停止(没有为第二个参数提供参数)并且始终采取 2 steps。
4.删除多个元素
#a = [1,2,3,4,5]
del a[::2]
#print(a) >> [2, 4]
扩展的切片语法也可用于一次删除多个列表元素。
5. 将文件读入行数组
c = [line.strip() for line in open(‘file.txt’)]
#print© >> [‘test1’, ‘test2’, ‘test3’, ‘test4’]
使用 Python 的内联 for 循环,你可以轻松地将文件读入行数组。strip需要删除尾随换行符。如果你想保留它们或者它们对你来说无关紧要,你可以使用更短的单线:
c = list(open(‘file.txt’))
#print© >> [‘test1\n’, ‘test2\n’, ‘test3\n’, ‘test4\n’]
用 Python 读取文件真的就是这么简单。旁注:你也可以根据需要使用该readlines方法。
6. 将字符串写入文件
with open(‘file.txt’, ‘a’) as f: f.write(‘hello world’)
#print(list(open(‘file.txt’))) >> [‘test1\n’, ‘test2\n’, ‘test3\n’, ‘test4\n’, ‘hello world’]
借助with语句,你可以直接将内容写入文件。确保使用正确的模式打开文件(此处’a’为附加内容)。
7. 列表创建
l = [('Hi ’ + x) for x in [‘Alice’, ‘Bob’, ‘Pete’]]
#print(l) >> [‘Hi Alice’, ‘Hi Bob’, ‘Hi Pete’]
可以使用内联 for 循环从其他列表动态创建列表。你可以直接修改值,如本例中的字符串连接。
8.列表映射
l = list(map(int, [‘1’, ‘2’, ‘3’]))
#print(l) >> [1, 2, 3]
你还可以使用 Pythonmap函数将每个列表元素转换为另一种类型。
9.创建集合
squares = { x**2 for x in range(6) if x < 4 }
#print(squares) >> {0, 1, 4, 9}
它与sets相似,除了内联 for 循环,你甚至可以直接附加条件!
10.回文检查
#phrase = ‘deleveled’
isPalindrome = phrase == phrase[::-1]
#print(isPalindrome) >> true
回文是一系列正向和反向读取相同的字符。通常你需要一些循环和条件来检查给定的字符串是否是回文。在 Python 中,你只需将字符串与其反向字符串进行比较。除了使用切片运算符[::-1],你还可以使用reverse函数来反转字符串。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。(文末领读者福利)
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
五、Python练习题
六、面试资料
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
10 个 惊艳的 Pythonic 单行代码相关推荐
- 一文盘点最近特别火的 10 款惊艳的 AI 工具(附项目代码)
2023可以称得上是脑洞大开的一年!人工智能的风口由OpenAI的ChatGPT率先引爆. 今天,我们给大家推荐10款惊艳的AI工具,欢迎补充! ...
- 创意计算机产品,10款惊艳的创意产品,脑洞大就是任性!
一.包装+产品二合一,少了产品包装,这款灯就无法使用 二.独特设计的蜡烛台,能让蜡烛重生 蜡烛在燃烧时,融化的蜡会汇集到底部的容器中.等顶部的蜡烛燃烧完,把底部的容器分开,一根新的蜡烛又出现喽. 三. ...
- 计算机专业相关的创意产品,10款惊艳的创意产品,脑洞大就是任性!
一.包装+产品二合一,少了产品包装,这款灯就无法使用 二.独特设计的蜡烛台,能让蜡烛重生 蜡烛在燃烧时,融化的蜡会汇集到底部的容器中.等顶部的蜡烛燃烧完,把底部的容器分开,一根新的蜡烛又出现喽. 三. ...
- 吴恩达斯坦福CS230第一名:图像超级补全,效果惊艳(附代码)
[新智元导读]图像修复(Image inpainting)是一个已经被广泛研究的计算机视觉问题,即恢复图像中缺失的部分.斯坦福大学CS230课程的Mark Sabini等人提出"Image ...
- 10款效果惊艳的HTML5应用和源码
HTML5已经越来越流行起来了,尤其是移动互联网的发展,更是带动了HTML5的迅猛发展,我们也是时候学习HTML5了,以防到时候落伍.今天给大家介绍10款效果惊艳的HTML5应用,方便大家学习,也将应 ...
- 惊艳于红警开源代码?赏心悦目的代码注释,我们也可以 !
文章目录 1.前言 2. 我们惊叹它的什么? 2.1 清晰的代码注释 2.2 语义化的编码规范 2.3 小而精的逻辑实现 3. 依葫芦画瓢 3.1 添加文档级注释 3.2 添加类级注释 3.3 添加方 ...
- Swift 中 10 个震惊小伙伴的单行代码
几年前,函数式编程的复兴正值巅峰,一篇介绍 Scala 中 10 个单行函数式代码的博文在网上走红.很快地,一系列使用其他语言实现这些单行代码的文章也随之出现,比如 Haskell,Ruby,Groo ...
- 他的车队低调拿掉安全员,现在用10亿新融资惊艳了所有人
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 刚刚引入国家队战略注资,完成超10亿元的新一轮融资,最近一年还率先实现了无人驾驶规模化商用-- 从创办之初就自带明星光环的中国自动驾驶公司驭 ...
- 10 个牛逼的单行代码编程技巧,你会用吗?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 「程序猿DD」星球活动第一期进行中!点击了解详情! 翻译 ...
最新文章
- RAC -代替OC 中的代理
- R语言使用broom包将回归模型(线性回归、逻辑回归、比例风险回归)的结果整理成dataframe并导出到excel等文件中:基于mtcars和colon数据集
- Spring AOP学习
- Java基础学习网站收藏
- poj 2886Who Gets the Most Candies?
- JAVA进阶day07JNI(java调用c)B部分
- 我的世界java骷髅马_我的世界:骷髅马材质更新,老MC教你获得骷髅马技巧,萌新:真好...
- node 创建静态web服务器(上)
- 工业基础类IFC—概述
- Android 矢量图动画(完结篇)
- java 二叉树 叶节点_java二叉树和叶子节点的实现
- MATLAB2010激活后无法打开MATLAB的解决方法
- ADXL362加速度传感器使用记录
- 武大2020/4/15-关于选派全日制在校生2020/2021学年秋季赴部分欧洲高校交流学习的通知(三)
- everedit 保存机器学习路径注意事项
- windows防火墙概述
- 【懒懒的Python学习笔记一】
- 区块链的硬分叉、软分叉介绍
- 高性能电工电子电拖及自动化技术实训与考核装置
- 将连续生产参数与四班三运转班次对应起来的算法
热门文章
- Docker安装错误failure: repodata/repomd.xml from docker-ce-stable
- wordpress主题GIT,多功能高级WordPress主题
- java基础入门ppt_Java基础入门.ppt
- 一款实用的可视化报表工具
- Hadoop源码分析8: IPC流程(3)客户端的clients、connections、calls复用
- 互联网时代下的我们安全吗?
- 粒子群算法,分布式电源选址定容。 以IEEE33节点系统为算例,对分布式电源最佳接入位置及接入容量进行选取
- min-width的作用
- yolov4训练已标柱的数据集
- hangul2010(韩国办公软件) v8.0.0.466官方版