广告位联系
返回顶部
分享到

20非常有用的Python单行代码

python 来源:互联网 作者:佚名 发布时间:2022-11-12 21:22:01 人浏览
摘要

有用的 Python 单行代码片段,只需一行代码即可解决特定编码问题! 在本文中,云朵君将分享20 个 Python 一行代码,你可以在 30 秒或更短的时间内轻松学习它们。这种单行代码将节省你

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

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

1 一行 For 循环

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

1

2

3

4

5

6

7

8

9

#For循环在一行

mylist = [200, 300, 400, 500]

#正常方式

result = [] </code><code>for x in mylist: 

    if x > 250: 

        result.append(x) 

print(result) # [300, 400, 500]</code><code>#一行代码方式

result = [x for x in mylist if x > 250] 

print(result) # [300, 400, 500]

2 一行 While 循环

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

1

2

3

4

5

#方法 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 语句,我们必须使用多个三元运算符。

1

2

3

4

5

6

7

8

9

10

#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 一行合并字典

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

1

2

3

4

5

6

7

8

9

# 在一行中合并字典

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 定义函数。查看下面的示例代码以获得更清晰的理解。

1

2

3

4

5

6

7

8

#函数在一行中

#方法一

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 语句。下面是查找斐波那契数的示例。

1

2

3

4

5

# 单行递归

#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 列表可以通过使用列表推导方法在一行代码中进行过滤。以过滤偶数列表为例。

1

2

3

4

5

6

7

8

9

10

11

# 一行中的数组过滤

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() 语句,我们可以做到这一点。

1

2

3

4

5

6

7

8

# 一行异常处理

#原始方式

try:

    print(x)

except:

    print("Error")

#单行方式

exec('try:print(x) \nexcept:print("Error")') # 错误

9 一行列表转字典

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

1

2

3

4

# 字典在一行

mydict = ["John", "Peter", "Mathew", "Tom"]

mydict = dict(enumerate(mydict))

print(mydict) # {0: 'John', 1: 'Peter', 2: 'Mathew', 3: 'Tom'}

10 一行多变量

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

1

2

3

4

5

6

7

8

9

#多行变量

#正常方式

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 来保存交换值。这个单行代码段将向你展示如何在没有任何临时变量的情况下交换一行中的值。

1

2

3

4

5

6

7

8

9

10

11

#换成一行

#正常方式

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 有许多内置的方法来解决这个排序问题。下面的代码示例将展示如何在一行中进行排序。

1

2

3

4

5

6

# 在一行中排序

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 一行读取文件

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

1

2

3

4

5

6

7

8

#一行读取文件

#正常方式

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 中,有一些方法可以在一行代码中使用类特性。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# 一行中的类

#普通方式

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

2

3

4

5

# 一行分号

# 例 1 

a = "Python"; b = "编程"; c = "语言"; print(a, b, c)

# 输出

# Python 编程语言

16 一行打印

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

1

2

3

4

5

6

7

# 一行打印

#正常方式

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 函数的示例。

1

2

3

4

#在一行中map

print(list(map(lambda a: a + 2, [5, 6, 7, 8, 9, 10])))

# 输出

# [7, 8, 9, 10, 11, 12]

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

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

1

2

3

4

# 删除一行中的Mul元素

mylist = [100, 200, 300, 400, 500]

del mylist[1::2]

print(mylist) # [100, 300, 500]

19 一行打印图案

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

1

2

3

4

5

6

7

8

9

10

# 在一行中打印图案# 

# 正常方式

for x in range(3):

    print('????')

# 输出

# ???? ???? ????

#单行方式

print('????' * 3) # ???? ???? ???? 

print('????' * 2) # ???? ???? 

print('????' * 1) # ????

20 一行查找质数

此代码段将向你展示如何编写单行代码来查找范围内的素数。

1

2

3

4

5

# 查找质数

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]


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://mp.weixin.qq.com/s/3RFwdbmjLyujweg-MTIkTg
相关文章
  • 基于Python实现英语单词小游戏

    基于Python实现英语单词小游戏
    相信大家对于英语四级一点都不陌生了吧? 很多学校都是要求学生必须考过英语四级,不然就不能毕业。 一开始我抱着侥幸心理,心想上高
  • 20非常有用的Python单行代码
    有用的 Python 单行代码片段,只需一行代码即可解决特定编码问题! 在本文中,云朵君将分享20 个 Python 一行代码,你可以在 30 秒或更短的
  • 使用 PyQt5设计下载远程服务器日志文件程序的思

    使用 PyQt5设计下载远程服务器日志文件程序的思
    最近通过 PyQt5 设计了一个下载服务器指定日期日志文件的程序,里面有些有意思的技术点,现在做一些分享。 PyQt5 是一套 Python 绑定 Digia
  • Python hashlib模块详细讲解使用方法
    1.hashlib的简介 hashlib 是一个提供了一些流行的hash(摘要)算法的Python标准库.其中所包括的算法有 md5, sha1, sha224, sha256, sha384, sha512等 什么是摘
  • python实现华氏温度和摄氏温度转换的方法

    python实现华氏温度和摄氏温度转换的方法
    华氏温度和摄氏温度转换 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 TempStr=input(请输入带有符号的温度值,C/c表示摄氏度、F/f表示华氏温度:) if Te
  • Python中PyMySQL的基本操作介绍
    PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。 如果还未
  • 四种Python机器学习超参数搜索方法总结
    在建模时模型的超参数对精度有一定的影响,而设置和调整超参数的取值,往往称为调参。 在实践中调参往往依赖人工来进行设置调整范围
  • python yield迭代器介绍
    在python深度学习模型读取数据时,经常遇到yield,互联网搜索后,将比较容易理解的说明记录一下。 二、使用步骤 1.引入库 代码如下(示例
  • python实现一个围棋小游戏

    python实现一个围棋小游戏
    一道Python课作业题,大致如下: 编写一个类: 该类Building应具有以下方法: ●一个构造函数,它根本不接受任何参数(除了通常的`self`) ●s
  • Pycharm配置anaconda环境图文教程

    Pycharm配置anaconda环境图文教程
    1.配置anaconda环境 以下内容在下载完anaconda后实现 快捷键win+r,打出命令行cmd,进入黑色 界面 输入conda info --env,跳出以下内容: 如果没有 则
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计