优雅的代码读起来像诗一样美。talk is cheap,show me the code!

1. 一行代码实现2个变量值交换

你能想出一种不用第三个变量就能交换两个变量的方法吗?请看:

a = 1
b = 2
a, b = b, a

2. 不用循环实现重复字符串

name = "程序员石磊"
print(name * 4)

输出:

程序员石磊程序员石磊程序员石磊程序员石磊

3. 字符转置

sentence = "程序员石磊"
reversed = sentence[::-1]
print(reversed)

输出:

磊石员序程

4. 将字符串列表压缩为一个字符串

words = ["程", "序", "员", "石", "磊"]
combined = " ".join(words)
print(combined)

输出:

程 序 员 石 磊

5. 比较

您可以将比较组合在一起,而不是将代码分成两个或多个部分。这就像你写数学一样。例如:

x = 100
res = 0 < x < 1000
print(res)

输出:

True

6. 查找列表中出现次数最多的元素

test = [6, 2, 2, 3, 4, 2, 2, 90, 2, 41]
most_frequent = max(set(test), key = test.count)
print(most_frequent)

输出:

2

7. 列表元素分散到变量

您可以将元素列表解分散为变量。只需保持变量的数量与列表元素的数量相同。

arr = [1, 2, 3]
a,b,c = arr
print(a, b, c)

输出:

1 2 3

8. 单行If-Else语句

在Python中,单行if-else语句称为条件运算符。例如:

age = 30
age_group = "Adult" if age > 18 else "Child"
print(age_group)

输出:

Adult

以下是使用条件运算符的模式:

true_expression if condition else false_expression

9. 用一行代码循环遍历列表

您可以使用推导式来使用一行代码遍历列表。例如,让我们将列表中的每个数字都取二次方:

numbers = [1, 2, 3, 4, 5]
squared_numbers = [num * num for num in numbers]
print(squared_numbers)

输出:

[1, 4, 9, 16, 25]

注意:不仅仅局限于使用列表。您也可以以类似的单行方式对字典、集合和生成器使用推导式。

dict1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
squared_dict = {key: num * num for (key, num) in dict1.items()}
print(squared_dict)

输出:

{'a': 1, 'b': 4, 'c': 9, 'd': 16}

10. 简化if表达式

糟糕的写法

if n == 0 or n == 1 or n == 2 or n == 3 or n == 4 or n == 5:

你也可以这么简写

if n in [0, 1, 2, 3, 4, 5]

最后感谢阅读!爱你们!

Python 10个优雅的写法,你会吗?相关推荐

  1. python优雅的写法

    python优雅的写法 1.同时为多个变量赋值 常规写法:逐个为变量赋值 a = 1 b = 2 c = 3 优雅写法:按变量顺序对应一一赋值 (a, b, c) = (1, 2, 3) 2.交换变量 ...

  2. (收藏)Python 10个正则表达式写法

    关于Python 10个正则表达式写法 主要是用到了 re这个库 (1).其中re.compile用于编译正则表达式,生成一个正则表达式( Pattern )对象 (2). .findall用于在字符 ...

  3. Python中如何优雅地使用switch语句

    文章目录 Python中如何优雅地使用switch语句 案例一(简单情况) 案例二(带条件判断) 版权声明:本文为博主原创文章,转载请注明原文出处! 写作时间:2019-03-07 13:49:45 ...

  4. tcp 接收端优雅的写法_如何更优雅地接收设计反馈

    tcp 接收端优雅的写法 重点 (Top highlight) It's rare to meet a designer that doesn't take pride in their work. ...

  5. Python 中常见的配置文件写法

    相信学习Python或者正在进行Python工作的小伙伴都会有一个疑问,为什么要写配置文件呢?在开发过程中,我们常常会用到一些固定参数或者是常量.对于这些较为固定且常用到的部分,往往会将其写到一个固定 ...

  6. Python中常见的配置文件写法分享!

    相信学习Python或者正在进行Python工作的小伙伴都会有一个疑问,为什么要写配置文件呢?在开发过程中,我们常常会用到一些固定参数或者是常量.对于这些较为固定且常用到的部分,往往会将其写到一个固定 ...

  7. Python读写文件的推荐写法-try-open

    Python读写文件的推荐写法-try-open python读写文件存在种写法,下面介绍最常见的两种,然后再我觉得比较规范和完整的一种写法 直接通过open来打开文件并读写文件 open的语法格式如 ...

  8. 设计模式 with Python 10:状态模式

    设计模式 with Python 10:状态模式 如果你接触过UML的状态图,应该会对状态图或者状态机有所了解,我们今天讨论的状态模式就是这种设计的落地方案. 和之前的讲解一样,我们从一个具体案例&q ...

  9. 分享10个高级sql写法

    本文主要介绍博主在以往开发过程中,对于不同业务所对应的 sql 写法进行归纳总结而来.进而分享给大家. 本文所讲述 sql 语法都是基于 MySql 8.0 博主github地址:http://git ...

最新文章

  1. 近一段忙项目。。。。
  2. 这13个开源GIS软件,你了解几个?【转】
  3. 【时间序列】最完整的时间序列分析和预测(含实例及代码)
  4. android 配置ADB环境
  5. 一文看懂集群、分布式与负载均衡的关系
  6. Matlab向量与多项式
  7. Bound Found POJ - 2566(尺取法+前缀和创造区间变化趋势)
  8. 改革开放成就我 感谢祖国
  9. poj3660 Cow Contest
  10. HDU3709 Balanced Number
  11. [NOI2003] 文本编辑器
  12. 名帖148 行书《兰亭八柱帖》第六册:于敏中补戏鸿堂刻柳公权书兰亭诗阙笔册
  13. Java - 你如何理解AOP中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入(Weaving)、切面(Aspect)这些概念?
  14. JMeter压力测试(一)
  15. 通过不同的查询方式解决笛卡尔集问题
  16. ERROR [master/jinghang01:16000:becomeActiveMaster] master.HMaster: Failed to become active master
  17. Excel导入sql server 2005错误0xc00470fe数据流任务产品级别对于组件源-Sheet1$(1)而言不足
  18. 卡罗拉 (COROLLA) - 雨刷/雨刮器频率控制
  19. 财报向好,但悦刻们迈入至暗时刻
  20. 2021年蚌埠学院的高考成绩查询,2021年蚌埠学院高考录取通知书查询 通知书什么时候可以收到...

热门文章

  1. matlab 双目 景深,双照相机景深分析的思路
  2. (附源码)ssm产品裂变管理系统 毕业设计 100953
  3. 输出全排列(递归非递归)
  4. 离开工作了五年的公司,还是留下来?
  5. [osg]OSG中的颜色数组,法向数组
  6. 英语会话必须掌握的五种基本结构[转]
  7. 【路径规划】基于matlab拓扑图和跟随领导者机器人编队路径规划【含Matlab源码 2500期】
  8. 利用 css 和 html 实现简单的双心
  9. python做面板回归_Python中的Panel回归
  10. ORACLE-023:令人烦恼的 ora-01722 无效数字