自从我用Python编写第一行代码以来,我就被它的简单性、出色的可读性和特别流行的一行代码所吸引。在下面,我想介绍并解释其中一些一行程序—可能有一些您还不知道,但对您的下一个Python项目很有用。

1. 交换两个变量# a = 1; b = 2 a, bb = 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只是添加每个给定迭代的项。这里使用扩展的切片语法[::]来返回第二个元素。你可以将它读为[start: stop: step],所以[1::2]翻译为从索引1的元素开始(第二个元素),直到列表结束(第二个参数没有给出参数),并且总是采取两步。

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(c) >> ['test1', 'test2', 'test3', 'test4']

使用python内联for循环,您可以轻松地将文件读入行数组中。需要使用strip()来删除后面的断线。如果你想保留它们或者它们对你来说不重要,你可以用更短的一行字:c = list(open('file.txt')) # print(c) >> ['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]

还可以使用Pythons map()函数将每个列表元素强制转换为另一种类型。

9. 集合创建squares = { x**2 for x in range(6) if x < 4 } # print(squares) >> {0, 1, 4, 9

集合也是一样的。除了内联for循环之外,您甚至可以直接添加条件!

10. 回文检查# phrase = 'deleveled' isPalindrome = phrase == phrase[::-1] # print(isPalindrome) >> true

回文是一系列向前和向后读取相同的字符。如果给定字符串是回文,通常需要一些循环和条件来检查。在Python中,你只需要比较字符串和它的反向字符串。除了使用切片操作符[::-1]之外,您还可以使用reverse()函数来反转字符串。

英文原文:

https://dev.to/devmount/10-awesome-pythonic-one-liners-explained-3doc

python 一行太长_10条很棒的Python一行代码相关推荐

  1. python 创意项目_针对python开发人员的10个很棒的python项目创意

    python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...

  2. 更适合python的应用程序_一些很棒的Python应用程序

    我们可以从180多个成功发布的Python软件案例中学到什么. 我很高兴地发布一些很棒的Python应用程序,这是一个手工整理的180多个项目的列表,所有这些都是: 1.带有在线源代码仓库的免费软件. ...

  3. chatgpt赋能python:Python行太长如何处理?

    Python行太长如何处理? 介绍 Python 是一门强大的编程语言,易于学习和使用.它也因其可读性和简洁性而受到广泛赞誉.然而,在实际编写时,往往遇到了行太长的情况. 当一行代码在编辑器中撑满了整 ...

  4. python 使用c模块_您可能没有使用(但应该使用)的很棒的Python模块

    python 使用c模块 by Adam Goldschmidt 亚当·戈德施密特(Adam Goldschmidt) 您可能没有使用(但应该使用)的很棒的Python模块 (Awesome Pyth ...

  5. 3 运行时间太长_10大污水处理预处理系统动态图及运行管理、故障处理

    污水处理厂的污水处理系统的维护.保养和故障维修,是每一位污师必备的技能,平时好的维护和保养可以很大程度的减少工厂的损失,今天小七从化工707app水处理板块的电子书<污水处理预处理系统的运行管理 ...

  6. 针对Python开发人员的10个很棒的项目创意

    Python是世界上使用最广泛的编程语言之一,并且可以为其通用性质做出贡献,这使其成为解决各个领域问题的合适工具.使用Python,您不仅可以为网络开发程序,还可以为桌面和命令行开发程序.Python ...

  7. python网址太长_Python GUI-长链转短链

    当我们想要与某人分享链接或将链接放入帖子时,如果链接太长,则会占用大量空间,而且非常缺乏吸引力.在这个时候,我们可以结束长链到短链的转换工具.当然,您可以直接搜索在线网站进行转换,但我们可以使用它来练 ...

  8. C语言一行太长的换行处理

    在C语言程序编写中,我们有时会遇到一行代码太长而影响阅读或者出现与部分公司或组织要求的编码规范不符的情况,此时我们需要将这行代码分成多行来写. 一.针对一般语句换行 使用\结尾作为换行标记 在编译时, ...

  9. css 插件_10个很棒的PostCSS插件,使您成为CSS向导

    PostCSS是一种功能强大的工具,可以使用JavaScript插件转换CSS样式 . 它的灵活性在于其构建方式. PostCSS的核心部分是一个Node.js模块 ,您可以使用npm进行安装,它具有 ...

最新文章

  1. mysql create table 语法详解
  2. 第一课 前言 学PHP就是为了做网站
  3. 学习型php空间,补装修日记:学习型业主三大要素
  4. 关于 SAP CRM 订单抬头级别的 Text 无法编辑的问题分析
  5. STM32很难?这些工具可以帮大忙!
  6. 洛谷P1288 取数游戏II[博弈论]
  7. 克服VR眩晕之帧数:提升UE4内容实时渲染效率
  8. jQuery图片水平滑动延迟加载动画
  9. 专访《白话区块链》作者蒋勇:学习区块链空谈不如实践
  10. 申论是什么额?如何备考,带你走进它
  11. html js满屏飘雪特效,原生js实现的雪花飘落特效
  12. win32 窗口 绘制矩形
  13. iOS App Crash 防护框架之 MKCrashGuard
  14. 基于android手机实时监控ipcam视频之二:mediastream2
  15. 如何设置在电脑屏幕和显示器屏幕显示不同的画面窗口
  16. 网络安全-重放攻击(Replay Attack)
  17. 区块链项目 - 1 创建一条公链
  18. 递增的三元子序列(来源力扣)
  19. 每日一个Linux命令之mv命令
  20. android 编译luajit,【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

热门文章

  1. Servlet重定向的过程(二)
  2. 《移动App测试实战》——2.2 App UI层面的自动化
  3. cocos2d-x 关于tilemap滚动时黑线闪动的问题
  4. STM32F0308开发环境的选择--CooCox CoIDE篇
  5. iOS利用通知(NSNotification)进行传值
  6. Exchange Server 2013就地电子数据展示
  7. 排序方法的分类 算法
  8. 汤家凤高等数学基础手写笔记-极限与连续
  9. 雅思作文未来计算机的应用,9分考官级雅思大作文范文之电脑技术的忧虑
  10. 定积分证明题例题_第二十天(20,11,27):积分中值定理