自从我用 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必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 (文末领取哦)

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

10 个 惊艳的 Pythonic 单行代码相关推荐

  1. 一文盘点最近特别火的 10 款惊艳的 AI 工具(附项目代码)

    ‍‍2023可以称得上是脑洞大开的一年!人工智能的风口由‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍OpenAI的ChatGPT率先引爆. 今天,我们给大家推荐10款惊艳的AI工具,欢迎补充! ...

  2. 创意计算机产品,10款惊艳的创意产品,脑洞大就是任性!

    一.包装+产品二合一,少了产品包装,这款灯就无法使用 二.独特设计的蜡烛台,能让蜡烛重生 蜡烛在燃烧时,融化的蜡会汇集到底部的容器中.等顶部的蜡烛燃烧完,把底部的容器分开,一根新的蜡烛又出现喽. 三. ...

  3. 计算机专业相关的创意产品,10款惊艳的创意产品,脑洞大就是任性!

    一.包装+产品二合一,少了产品包装,这款灯就无法使用 二.独特设计的蜡烛台,能让蜡烛重生 蜡烛在燃烧时,融化的蜡会汇集到底部的容器中.等顶部的蜡烛燃烧完,把底部的容器分开,一根新的蜡烛又出现喽. 三. ...

  4. 吴恩达斯坦福CS230第一名:图像超级补全,效果惊艳(附代码)

    [新智元导读]图像修复(Image inpainting)是一个已经被广泛研究的计算机视觉问题,即恢复图像中缺失的部分.斯坦福大学CS230课程的Mark Sabini等人提出"Image ...

  5. 10款效果惊艳的HTML5应用和源码

    HTML5已经越来越流行起来了,尤其是移动互联网的发展,更是带动了HTML5的迅猛发展,我们也是时候学习HTML5了,以防到时候落伍.今天给大家介绍10款效果惊艳的HTML5应用,方便大家学习,也将应 ...

  6. 惊艳于红警开源代码?赏心悦目的代码注释,我们也可以 !

    文章目录 1.前言 2. 我们惊叹它的什么? 2.1 清晰的代码注释 2.2 语义化的编码规范 2.3 小而精的逻辑实现 3. 依葫芦画瓢 3.1 添加文档级注释 3.2 添加类级注释 3.3 添加方 ...

  7. Swift 中 10 个震惊小伙伴的单行代码

    几年前,函数式编程的复兴正值巅峰,一篇介绍 Scala 中 10 个单行函数式代码的博文在网上走红.很快地,一系列使用其他语言实现这些单行代码的文章也随之出现,比如 Haskell,Ruby,Groo ...

  8. 他的车队低调拿掉安全员,现在用10亿新融资惊艳了所有人

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 刚刚引入国家队战略注资,完成超10亿元的新一轮融资,最近一年还率先实现了无人驾驶规模化商用-- 从创办之初就自带明星光环的中国自动驾驶公司驭 ...

  9. 10 个牛逼的单行代码编程技巧,你会用吗?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 「程序猿DD」星球活动第一期进行中!点击了解详情! 翻译 ...

最新文章

  1. RAC -代替OC 中的代理
  2. R语言使用broom包将回归模型(线性回归、逻辑回归、比例风险回归)的结果整理成dataframe并导出到excel等文件中:基于mtcars和colon数据集
  3. Spring AOP学习
  4. Java基础学习网站收藏
  5. poj 2886Who Gets the Most Candies?
  6. JAVA进阶day07JNI(java调用c)B部分
  7. 我的世界java骷髅马_我的世界:骷髅马材质更新,老MC教你获得骷髅马技巧,萌新:真好...
  8. node 创建静态web服务器(上)
  9. 工业基础类IFC—概述
  10. Android 矢量图动画(完结篇)
  11. java 二叉树 叶节点_java二叉树和叶子节点的实现
  12. MATLAB2010激活后无法打开MATLAB的解决方法
  13. ADXL362加速度传感器使用记录
  14. 武大2020/4/15-关于选派全日制在校生2020/2021学年秋季赴部分欧洲高校交流学习的通知(三)
  15. everedit 保存机器学习路径注意事项
  16. windows防火墙概述
  17. 【懒懒的Python学习笔记一】
  18. 区块链的硬分叉、软分叉介绍
  19. 高性能电工电子电拖及自动化技术实训与考核装置
  20. 将连续生产参数与四班三运转班次对应起来的算法

热门文章

  1. Docker安装错误failure: repodata/repomd.xml from docker-ce-stable
  2. wordpress主题GIT,多功能高级WordPress主题
  3. java基础入门ppt_Java基础入门.ppt
  4. 一款实用的可视化报表工具
  5. Hadoop源码分析8: IPC流程(3)客户端的clients、connections、calls复用
  6. 互联网时代下的我们安全吗?
  7. 粒子群算法,分布式电源选址定容。 以IEEE33节点系统为算例,对分布式电源最佳接入位置及接入容量进行选取
  8. min-width的作用
  9. yolov4训练已标柱的数据集
  10. hangul2010(韩国办公软件) v8.0.0.466官方版