20个非常有用的Python单行代码

这篇具有很好参考价值的文章主要介绍了20个非常有用的Python单行代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

有用的 Python 单行代码片段,只需一行代码即可解决特定编码问题!

在本文中,小编将分享20 个 Python 一行代码,你可以在 30 秒或更短的时间内轻松学习它们。这种单行代码将节省你的时间,并使你的代码看起来更干净且易于阅读。

目录

前言

1、一行 For 循环

2、一行 While 循环

3、一行 IF Else 语句

4、一行合并字典

5、一行函数

6、一行递归

7、一行数组过滤

8、一行异常处理

9、一行列表转字典

10、一行多变量

11、一行交换值

12、一行排序

13、一行读取文件

14、一行类

15、一行分号

16、一行打印

17、一行map函数

18、删除列表第一行中的 Mul 元素

19、一行打印图案

20、一行查找质数


1、一行 For 循环

for 循环是一个多行语句,但是在 Python 中,我们可以使用列表推导式方法在一行中编写 for 循环。以过滤小于250的值为例,查看下面的代码示例。

#For循环在一行
mylist = [200, 300, 400, 500]
#正常方式
result = [] 
for x in mylist: 
    if x > 250: 
        result.append(x) 
print(result) # [300, 400, 500]
#一行代码方式
result = [x for x in mylist if x > 250] 
print(result) # [300, 400, 500]

2、一行 While 循环

这个 One-Liner 片段将向你展示如何在一行中使用 While 循环代码,我已经展示了两种方法。

#方法 1 Single Statement 
while True: print(1) #infinite 1
#方法 2 多语句
x = 0 
while x < 5: print(x); x= x + 1 # 0 1 2 3 4 5

3、一行 IF Else 语句

好吧,要在一行中编写 IF Else 语句,我们将使用三元运算符。三元的语法是“[on true] if [expression] else [on false]”。

我在下面的示例代码中展示了 3 个示例,以使你清楚地了解如何将三元运算符用于一行 if-else 语句。要使用 Elif 语句,我们必须使用多个三元运算符。

#if Else 在一行中
#Example 1 if else
print("Yes") if 8 > 9 else print("No") # No
#Example 2 if elif else 
E = 2 
print("High") if E == 5 else print("数据STUDIO") if E == 2 else 
print("Low") # 数据STUDIO 
 
#Example 3 only if
if 3 > 2: print("Exactly") # Exactly

4、一行合并字典

这个 单行代码段将向你展示如何使用一行代码将两个字典合并为一个。下面我展示了两种合并字典的方法。

# 在一行中合并字典
d1 = { 'A': 1, 'B': 2 } 
d2 = { 'C': 3, 'D': 4 }
#方法 1 
d1.update(d2) 
print(d1) # {'A': 1, 'B': 2, 'C': 3, 'D': 4}
#方法 2 
d3 = {**d1, **d2} 
print(d3) # {'A': 1, 'B': 2, 'C': 3, 'D': 4}

5、一行函数

我们有两种方法可以在一行中编写函数,在第一种方法中,我们将使用与三元运算符或单行循环方法相同的函数定义。

第二种方法是用 lambda 定义函数。查看下面的示例代码以获得更清晰的理解。

#函数在一行中
#方法一
def fun(x): return True if x % 2 == 0 else False 
print(fun(2)) # False
#方法2
fun = lambda x : x % 2 == 0 
print(fun(2)) # True 
print(fun(3)) # False

6、一行递归

这个单行代码片段将展示如何在一行中使用递归。我们将使用一行函数定义和一行 if-else 语句。下面是查找斐波那契数的示例。

# 单行递归
#Fibonaci 单行递归示例
def Fib(x): return 1 if x in {0, 1} else Fib(x-1) + Fib(x-2)
print(Fib(5)) # 8
print(Fib(15)) # 987

7、一行数组过滤

Python 列表可以通过使用列表推导方法在一行代码中进行过滤。以过滤偶数列表为例。

# 一行中的数组过滤
mylist = [2, 3, 5, 8, 9, 12, 13, 15]
#正常方式
result = [] 
for x in mylist: 
    if x % 2 == 0: 
        result.append(x)
print(result) # [2, 8, 12]
# 单线方式
result = [x for x in mylist if x % 2 == 0] 
print(result) # [2, 8, 12]

8、一行异常处理

我们使用异常处理来处理 Python 中的运行时错误。你知道我们可以在一行中编写这个 Try except 语句吗?通过使用 exec() 语句,我们可以做到这一点。

# 一行异常处理
#原始方式
try:
    print(x)
except:
    print("Error")
#单行方式
exec('try:print(x) \nexcept:print("Error")') # 错误

9、一行列表转字典

我们可以使用 Python enumerate() 函数将 List 转换为一行字典。在enumerate() 中传递列表并使用dict() 将最终输出转换为字典格式。

# 字典在一行
mydict = ["John", "Peter", "Mathew", "Tom"]
mydict = dict(enumerate(mydict))
print(mydict) # {0: 'John', 1: 'Peter', 2: 'Mathew', 3: 'Tom'}

10、一行多变量

Python 允许在一行中进行多个变量赋值。下面的示例代码将向你展示如何做到这一点。

#多行变量
#正常方式
x = 5 
y = 7 
z = 10 
print(x , y, z) # 5 7 10
#单行方式
a, b, c = 5, 7, 10 
print(a, b, c) # 5 7 10

11、一行交换值

交换是编程中一项有趣的任务,并且总是需要第三个变量名称 temp 来保存交换值。这个单行代码段将向你展示如何在没有任何临时变量的情况下交换一行中的值。

#换成一行
#正常方式
v1 = 100
v2 = 200
temp = v1
v1 = v2 
v2 = temp
print(v1, v2) # 200 100
# 单行交换
v1, v2 = v2, v1 
print(v1, v2) # 200 100

12、一行排序

排序是编程中的一个普遍问题,Python 有许多内置的方法来解决这个排序问题。下面的代码示例将展示如何在一行中进行排序。

# 在一行中排序
mylist = [32, 22, 11, 4, 6, 8, 12] 
# 方法 1
mylist.sort() 
print(mylist) # # [4, 6, 8, 11, 12, 22, 32]
print(sorted(mylist)) # [4, 6, 8, 11, 12, 22, 32]

13、一行读取文件

不使用语句或正常读取方法,也可以正确读取一行文件。

#一行读取文件
#正常方式
with open("data.txt", "r") as file: 
    data = file.readline() 
    print(data) # Hello world
#单行方式
data = [line.strip() for line in open("data.txt","r")] 
print(data) # ['hello world', 'Hello Python']

14、一行类

上课总是多线工作。但是在 Python 中,有一些方法可以在一行代码中使用类特性。

# 一行中的类
#普通方式
class Emp: 
    def __init__(self, name, age): 
        self.name = name 
        self.age = age
        emp1 = Emp("云朵君", 22) 
print(emp1.name, emp1.age) # 云朵君 22
#单行方式
#方法 1 带有动态 Artibutes 的 Lambda

Emp = lambda:None; Emp.name = "云朵君"; Emp.age = 22
print(Emp.name, Emp.age) # 云朵君 22

#方法 2 
from collections import namedtuple
Emp = namedtuple('Emp', ["name", "age"]) ("云朵君", 22) 
print(Emp.name, Emp.age) # 云朵君 22

15、一行分号

一行代码片段中的分号将向你展示如何使用分号在一行中编写多行代码。

# 一行分号
# 例 1 
a = "Python"; b = "编程"; c = "语言"; print(a, b, c)
# 输出
# Python 编程语言

16、一行打印

这不是很重要的片段,但有时当你不需要使用循环来执行任务时它很有用。

# 一行打印
#正常方式
for x in range(1, 5):
    print(x) # 1 2 3 4
#单行方式
print(*range(1, 5)) # 1 2 3 4
print(*range(1, 6)) # 1 2 3 4 5

17、一行map函数

Map 函数是适用的高阶函数。这将函数应用于每个元素。下面是我们如何在一行代码中使用 map 函数的示例。

#在一行中map
print(list(map(lambda a: a + 2, [5, 6, 7, 8, 9, 10])))
# 输出
# [7, 8, 9, 10, 11, 12]

18、删除列表第一行中的 Mul 元素

你现在可以使用 del 方法在一行代码中删除 List 中的多个元素,而无需进行任何修改。

# 删除一行中的Mul元素
mylist = [100, 200, 300, 400, 500]
del mylist[1::2]
print(mylist) # [100, 300, 500]

19、一行打印图案

现在你不再需要使用for循环来打印相同的图案。你可以使用 print 语句和星号 (*) 在一行代码中执行相同的操作。

# 在一行中打印图案# 
# 正常方式
for x in range(3):
    print('')
# 输出
#   
#单行方式
print('' * 3) #    
print('' * 2) #   
print('' * 1) # 

20、一行查找质数

此代码段将向你展示如何编写单行代码来查找范围内的素数。文章来源地址https://www.toymoban.com/news/detail-827994.html

# 查找质数
print(list(filter(lambda a: all(a % b != 0 for b in range(2, a)),
                  range(2,20))))
# 输出
# [2, 3, 5, 7, 11, 13, 17, 19]

到了这里,关于20个非常有用的Python单行代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python Pygame游戏开发教程正式发布(非常详细)

    Pygame 是一款专门为开发和设计 2D 电子游戏而生的、免费开源的 Python 软件包/模块,它支 Windows、Linux、Mac OS 等操作系统,具有良好的跨平台性 Pygame 在 SDL 的基础上开发而成,它提供了诸多操作模块,比如图像模块(image)、声音模块(mixer)、输入/输出(鼠标、键盘、显示屏

    2024年04月13日
    浏览(48)
  • 基于Python语言Django+Layui实现的低代码开发平台

    一款 Python 语言基于Django、Layui、MySQL等框架精心打造的一款模块化、高性能、企业级的敏捷开发框架,本着简化开发、提升开发效率的初衷触发,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按

    2024年02月11日
    浏览(90)
  • C++&Python&C# 三语言OpenCV从零开发(6):边界填充+Csharp调用Python matplotlib代码

    C++PythonCsharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料+课件笔记) 今天来接着学习OpenCV,现在主要是以Python代码为主了,所以先实现Python,在用C++/Csharp重现一遍。 边界填充就是向外填充图片信息,将图片扩大。填充分为上下

    2024年01月23日
    浏览(66)
  • 非常有用的Linux网络诊断命令:traceroute

    traceroute 是一个网络诊断工具,用于检测数据包从本机到目标主机经过的路由路径。它可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。在 Linux 系统中,traceroute 命令是一个非常常用的工具。 在大多数 Linux 发行版中,traceroute 工具已经默认安装

    2024年02月13日
    浏览(34)
  • python入门小游戏代码20行,python小游戏代码大全

    大家好,给大家分享一下python简单小游戏代码20行,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 01 整体框架 平台:pycharm 关于pygame的安装这里就不在赘述,大家自行上网找合适自己的版本的安装即可。关于pygame模块知识会穿插在下面代码中介绍,用到什

    2024年04月22日
    浏览(40)
  • python入门小游戏代码20行,python小游戏代码1000行

    大家好,给大家分享一下python简单小游戏代码100行,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! Python非常受欢迎的一个原因是它的应用领域非常广泛,其中就包括游戏开发。而是用Python进行游戏开发的首选模块就是PyGamepython基础知识重点。 PyGame是跨平

    2024年01月16日
    浏览(40)
  • python入门小游戏代码20行,python超简单小游戏代码

    大家好,小编为大家解答python简单小游戏代码100行的问题。很多人还不知道python入门小游戏代码20行,现在让我们一起来看看吧! Source code download: 本文相关源码 大家好,小编来为大家解答以下问题,一些简单好玩的python编程游戏,python编写的入门简单小游戏,今天让我们一

    2024年01月19日
    浏览(47)
  • MySQL:Skip-grant-tables非常有用启动参数

    介绍一个非常有用的mysql启动参数—— --skip-grant-tables。 顾名思义,就是在启动mysql时不启动grant-tables,授权表。有什么用呢? 忘记管理员密码后有用 操作方法: 1、停止mysql服务 2、以命令行参数启动mysql 3、修改管理员密码 4、杀死mysql,重启mysql

    2024年01月25日
    浏览(50)
  • Linux命令200例:nc非常有用的网络工具(常用)

    🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Linux命令大全。 🏆本专栏我们会通过 具体的系统的命令讲解 加上

    2024年02月12日
    浏览(39)
  • python01-单行注释和多行注释

    从今天开始带着大家一起开始玩转python很多语法,我会由浅入深开始把python的相关内容都更新起来。 当然也不会太浅了,所以我的开篇是单行注释和多行注释。 程序的注释虽然为代码的功能带来不了什么实际的心功能变化,但为程序添加注释可以用来解释程序的某些部分的

    2024年01月21日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包