page contents

Python教程:编程小白必须知道的 15 个强大的 Python 单行代码!

本文讲述了python教程:编程小白必须知道的 15 个强大的 Python 单行代码!具有很好的参考价值,希望对大家有所帮助。一起跟随好学星城小编过来看看吧,具体如下:

attachments-2024-04-vnLSqAI066189ee374f7e.png本文讲述了python教程:编程小白必须知道的 15 个强大的 Python 单行代码!具有很好的参考价值,希望对大家有所帮助。一起跟随好学星城小编过来看看吧,具体如下:

Python 中可以使用简短的代码片段实现一些强大操作的。在本文中,我将分享一些最常用的 Python 单行代码,这些代码在 Python 社区中很受欢迎并被广泛使用,因为代码更简洁、更易于理解。

三元运算符

三元运算允许根据条件为 True 或 False 来计算值。无需编写多行 if/else 语句,只需编写一行代码即可实现。

x = 1

y = 2

z = 1 if x > 0 and y > x else -1

print(z)

为多个变量赋值

可以同时为多个变量分配值,如下所示。

x, y = "Python", 123

print(x, y)

交换变量的值

要交换变量的值,只需执行以下操作,而无需像其他编程语言(如 Java 或 C)需要临时变量。

x, y = "Python", 123

x, y = y, x

print(x, y) 

交换列表中的元素

假设有一个列表,并且想将第一个元素与最后一个元素交换.

由于列表是可变的,可以通过索引号交换第一个和最后一个元素,来重新分配它们的值。

x = [1, 2, 3, 4, 5, 6]

x[0], x[5] = x[5], x[0]

print(x) # [6, 2, 3, 4, 5, 1]

如果要求交换列表中奇数位和偶数位置的元素,可以使用如下方法。

想交换第 2 个和第 1 个、第 4 个和第 3 个元素,依此类推。可以通过执行以下带有赋值操作的列表切片来实现。

x = [1, 2, 3, 4, 5, 6]

x[::2], x[1::2] = x[1::2], x[0::2]

print(x) # [2, 1, 4, 3, 6, 5]

x[::2] 表示偶数位 [2, 4, 6]

x[1::2] 表示奇数位 [1, 3, 5]

替换列表中的元素

如果想替换列表中每个奇数或偶数位置的元素,例如替换为 0,可以按如下方式进行重新赋值。

x = [1, 2, 3, 4, 5, 6]

x[1::2] = [0]*len(x[1::2])

print(x) # [1, 0, 3, 0, 5, 0]

列表推导式与三元运算结合

x = [1, 2, 3, 4, 5, 6]

y = [z if i % 2 == 0 else 0 for i, z in enumerate(x)]

print(y) # [1, 0, 3, 0, 5, 0]

使用列表推导式

通过使用列表推导式,可以使用特定过滤条件轻松地从当前序列生成新的列表。

例如,下面将生成一个介于 1 到 20 之间的偶数列表。

n = [i for i in range(1, 20) if i%2 == 0]

print(n)

从列表创建子列表

同样,可以从现有列表中获取一个子列表,其列表推导式如下。

x = [1, 2, 3, 4, 5, 6]

y = [i for i in x if i <4]

print(y) # [1, 2, 3]

更改列表元素类型

通过列表推导式,还可以将列表元素转换为另一种类型格式。例如,要将整数转换为字符。

x = [1, 2, 3, 4, 5, 6]

y = [chr(65+i) for i in x]

print(y) # ['B', 'C', 'D', 'E', 'F', 'G']

或者将大写转换为小写。

x = [1, 2, 3, 4, 5, 6]

y = [chr(65+i) for i in x]

z = [i.lower() for i in y]

print(z) # ['b', 'c', 'd', 'e', 'f', 'g']

以上所有操作也可以不使用列表推导式。

x = [1, 2, 3, 4, 5, 6]

y = list(map(lambda x : chr(65+x), x))

z = list(map(str.lower, y))

print(y) # ['B', 'C', 'D', 'E', 'F', 'G']

print(z) # ['b', 'c', 'd', 'e', 'f', 'g']

使用列表推导式输出文件列表

遍历当前文件夹,输出所有 .xlsx 文件。

import os

x = [f for d in os.walk(".") for f in d[2] if f.endswith(".xlsx")]

print(x)

平展多维列表

将多维列表平展为一维列表。

a = [[1,2], [3,4], [5,6]]

b = [y for x in a for y in x]

print(b) # [1, 2, 3, 4, 5, 6]

还可以使用 itertools 模块来实现。

import itertools

a = [[1,2], [3,4], [5,6]]

b = list(itertools.chain.from_iterable(a))

print(b) # [1, 2, 3, 4, 5, 6]

字典推导式

要从列表中生成字典,可以使用字典推导式。

x = [1, 2, 3, 4, 5, 6]

dict1 = {chr(65+i):v+65 for i, v in enumerate(x)}

print(dict1) # {'A': 66, 'B': 67, 'C': 68, 'D': 69, 'E': 70, 'F': 71}

集合推导式

x = [1, 2, 3, 4, 5, 6]

set1 = {chr(65+i) for i in x}

print(set1) # {'D', 'E', 'G', 'C', 'B', 'F'}

可以使用集合删除重复值。

x = [1, 2, 2, 4, 5, 5]

y = set(x)

print(y) # {1, 2, 4, 5}

将文件读入生成器

读取文件 test.txt 内容,写入生成器。

text = (line.strip() for line in open('test.txt', 'r'))

print(text) # <generator object <genexpr> at 0x000001B55175F760>

print(list(text)) # ['1', '2', '3', '4', '5', '6']

使用 Python -c 命令的单行代码

在不进入 Python 交互模式的情况下运行代码片段,可以在系统命令提示符窗口中使用 Python -c 选项执行代码。

例如,检查当前的 Python 版本:

python -c "import sys; print(sys.version.split()[0])"

检查环境变量的值:

python -c "import os;print(os.getenv('PATH').split(';'))"

在本文中,列举了一些常用的 Python 单行代码,这些单行代码将大大提高代码可读性和编码效率。不过在使用代码之前,还需要考虑代码性能,而不是简单地追求代码的简洁性。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2024-04-12 10:41
  • 阅读 ( 51 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1316 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1316 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章