Python zip 函数教程(简单示例)

2023-10-12

The zip()function 是一个内置的 Python 函数,它接受两个或多个序列或集合(如列表或字符串),并创建一个并行聚合每个集合中的元素的迭代器。

这种组合这些值的过程称为“压缩”,它源于将两个单独的项目集合压缩在一起的想法。

 

 

Python zip() 语法和用法

Python中zip()函数的基本语法如下:


zip(*iterables, strict=False)
  

其中“*iterables”可以是一个或多个可迭代对象。这将返回一个元组迭代器,其中每个传递的迭代器中的第一个项目配对在一起,然后每个传递的迭代器中的第二个项目配对在一起,依此类推。

如果传递的迭代器具有不同的长度,则具有最少项的迭代器决定新迭代器的长度。
这是其基本用法的示例:


fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3]
result = zip(fruits, numbers)

# convert result to list
print(list(result))
  

Output:


[('apple', 1), ('banana', 2), ('cherry', 3)]
  

在这个例子中,我们有两个列表,fruits and numbers。我们将这两个列表作为参数传递给zip()函数,它返回一个 zip 对象。

zip 对象是元组的迭代器,其中每个传递的迭代器中的第一项(在本例中为列表)配对在一起,然后每个传递的迭代器中的第二项配对在一起,等等。

最后,我们将 zip 对象转换为元组列表。

使用严格关键字

在 Python 3.10 及更高版本中,zip()函数接受一个额外的strict关键字参数。

If strict is True, zip()将检查所有输入迭代是否具有相同的长度,并会引发ValueError如果长度不匹配。

这是一个例子zip() with strict=True:


numbers = [1, 2, 3]
letters = ['a', 'b']
try:
    zipped = zip(numbers, letters, strict=True)    
    zipped_list = list(zipped)
    print(zipped_list)
except ValueError as ve:
    print(f"Caught an exception: {ve}")
  

Output:


Caught an exception: zip() argument 2 is shorter than argument 1  

在此代码中,zip()函数提出了一个ValueError因为numbers列表包含三项,而letters列表只有两个,并且strict被设定为True.

 

zip() 有两个列表

The zip()函数通常与两个列表一起使用,但也可以与两个以上列表一起使用。这是一个使用示例zip()有两个列表:


fruits = ["Apple", "Banana", "Cherry"]
colors = ["Red", "Yellow", "Red"]
zipped = zip(fruits, colors)
print(list(zipped))
  

Output:


[('Apple', 'Red'), ('Banana', 'Yellow'), ('Cherry', 'Red')]
  

在这个例子中,我们定义了两个列表fruits and colors。然后我们使用zip()函数将这两个列表组合成对。

The zip()函数返回一个 zip 对象,它是一个包含元组的迭代器。每个元组由输入列表中相同索引的元素组成。

每个元组中的第一个元素来自第一个列表,第二个元素来自第二个列表。最后,我们将 zip 对象转换为列表以使其更易于阅读。

 

zip() 具有两个以上列表

The zip()函数可以接受任意数量的迭代,并且生成的元组将具有相同的大小。


fruits = ["Apple", "Banana", "Cherry"]
colors = ["Red", "Yellow", "Red"]
weights = [120, 150, 50]
result = zip(fruits, colors, weights)
print(list(result))
  

Output:


[('Apple', 'Red', 120), ('Banana', 'Yellow', 150), ('Cherry', 'Red', 50)]
  

在这个例子中,我们使用了zip()函数将三个不同列表中的元素配对 -fruits, colors, and weights.

The zip()函数并行迭代这些列表,从每个列表中取出一个元素并将它们分组为一个元组。

重复此操作,直到用尽最短列表 - 在这种情况下,所有列表的长度相等,因此它们的所有元素都配对。

 

zip() 与元组

The zip()函数也可以与元组一起使用。该函数将每个元组的元素在同一索引处配对,就像列表一样。


tuple1 = ("Apple", "Banana", "Cherry")
tuple2 = ("Red", "Yellow", "Red")
result = zip(tuple1, tuple2)
print(list(result))
  

Output:


[('Apple', 'Red'), ('Banana', 'Yellow'), ('Cherry', 'Red')]
  

在这个例子中,我们定义了两个元组,tuple1 and tuple2。然后我们使用了zip()函数创建一个 zip 对象,将每个元组中的相应元素配对在一起,从而产生一个元组列表。

 

带集合的 zip()

蟒蛇的zip()函数也可以与集合一起使用。但是,请记住,集合是唯一元素的无序集合,因此每次运行代码时元素配对的顺序可能会有所不同。


set1 = {"Apple", "Banana", "Cherry"}
set2 = {"Red", "Yellow", "Red"}
result = zip(set1, set2)
print(list(result))
  

输出(可能由于集合的无序性质而变化):


[('Cherry', 'Red'), ('Banana', 'Yellow'), ('Apple', 'Red')]
  

在这个例子中,我们定义了两个集合,set1 and set2。然后我们使用了zip()函数创建一个 zip 对象,将每个集合中的相应元素配对在一起,从而生成元组列表。

 

zip() 与字典

当。。。的时候zip()函数与字典一起使用,默认情况下它将迭代键:


dict1 = {"name": "Alice", "age": 25, "country": "USA"}
dict2 = {"name": "Bob", "age": 30, "country": "Canada"}
result = zip(dict1, dict2)
print(list(result))
  

Output:


[('name', 'name'), ('age', 'age'), ('country', 'country')]
  

在这个例子中,我们定义了两个字典,dict1 and dict2。然后我们使用了zip()函数创建一个 zip 对象,该对象将每个字典中的相应键配对在一起,从而产生一个元组列表。

如果你想压缩字典的值,你可以使用values()函数如下:


result_values = zip(dict1.values(), dict2.values())
print(list(result_values))
  

Output:


[('Alice', 'Bob'), (25, 30), ('USA', 'Canada')]
  

Here, zip()用于值dict1 and dict2,因此生成的元组列表包含来自两个字典的配对值。

 

带字符串的 zip()

每个字符串都是一个可迭代的字符,所以zip()将字符串中相同索引处的字符配对。


str1 = "ABC"
str2 = "123"
result = zip(str1, str2)
print(list(result))
  

Output:


[('A', '1'), ('B', '2'), ('C', '3')]
  

在这个例子中,我们定义了两个字符串,str1 and str2。然后我们使用了zip()函数创建一个 zip 对象,将每个字符串中的相应字符配对在一起。

 

压缩不同长度的可迭代对象

当。。。的时候zip()函数与不同长度的迭代一起使用,当最小的迭代耗尽时,它会停止创建元组。让我们看看实际效果:


# Define three lists of different lengths
list1 = [1, 2, 3, 4, 5]
list2 = ["a", "b", "c"]
list3 = [1.1, 2.2, 3.3, 4.4]

# Use zip function
result = zip(list1, list2, list3)

# Convert result to list
print(list(result))
  

Output:


[(1, 'a', 1.1), (2, 'b', 2.2), (3, 'c', 3.3)]
  

当我们使用zip()在这三个列表上运行函数,它会在第三个元素之后停止创建元组,因为list2(最短列表)只有三个元素。因此生成的元组列表仅包含三个元组。

 

 

zip() 替代方案 (zip_longest())

正如我们在上面看到的,当处理长度不均匀的可迭代时,最小的可迭代决定了迭代器的长度,但是如果您不想要这样怎么办?

这就是zip_longest()函数从itertools模块进来了。

它的工作原理类似于zip(),但是当最短迭代耗尽时,它不会停止迭代,而是填充None对于较长的可迭代对象的剩余值。

您还可以使用提供不同的填充值fillvalue范围。


import itertools
list1 = [1, 2, 3, 4, 5]
list2 = ["a", "b", "c"]
result = itertools.zip_longest(list1, list2)
print(list(result))
  

Output:


[(1, 'a'), (2, 'b'), (3, 'c'), (4, None), (5, None)]
  

当我们使用itertools.zip_longest()在这些列表上运行函数,它通过填充在第三个元素之后继续创建元组None对于剩余的值list2.

 

zip() 与 * 运算符(解压缩)

蟒蛇的zip()函数可以与星号“*”运算符结合使用来解压可迭代对象。这通常用于“解压缩”元组列表。


pairs = [("a", 1), ("b", 2), ("c", 3)]
letters, numbers = zip(*pairs)
print(letters)
print(numbers)
  

Output:


('a', 'b', 'c')
(1, 2, 3)
  

在这个例子中,我们使用zip()函数与*运算符来解压元组pairs,产生两个元组:letters,其中包含元组中的所有第一个元素,并且numbers,其中包含元组中的所有第二个元素。

 

使用 zip() 时的常见错误

使用时可能会出现错误zip()如果您没有提供正确的参数,或者尝试以非预期的方式使用该函数,则该函数将被调用。以下是一些常见错误:

类型错误:zip 参数必须支持迭代

当您尝试使用时会出现此错误zip()带有不可迭代的参数。


number = 5
list(zip(number))  

这会引发错误:TypeError: 'int' object is not iterable

仅使用zip()具有可迭代参数,例如列表、元组、集合、字典和字符串。

类型错误:“zip”对象不可订阅

当您尝试对 zip 对象建立索引时,会发生此错误。


list1 = [1, 2, 3]
list2 = ["a", "b", "c"]
zipped = zip(list1, list2)
print(zipped[0])  

这会引发错误:TypeError: 'zip' object is not subscriptable

Zip 对象是迭代器,并且不支持索引。要索引对,首先将 zip 对象转换为列表或其他可下标的类型,如下所示:


list1 = [1, 2, 3]
list2 = ["a", "b", "c"]
zipped = zip(list1, list2)
print(list(zipped)[0])  

 

使用 zip() 进行内存优化

该产品的优点之一是zip()功能是它在内存使用方面的效率。这是因为zip()返回一个迭代器,而不是列表或其他序列。

迭代器仅在需要时一次生成一个对,而不是一次将所有对存储在内存中。
在处理大型数据集时,这会产生显着的差异。
为此,我们将使用sys用于检查列表与 zip 对象的内存使用情况的模块。


import sys

# Two large lists of numbers
list1 = list(range(1, 10000001))  # numbers from 1 to 10 million
list2 = list(range(10000001, 20000001))  # numbers from 10 million + 1 to 20 million

list_memory = sys.getsizeof(list1) + sys.getsizeof(list2)
zipped = zip(list1, list2)
zip_memory = sys.getsizeof(zipped)

print(f"Memory used by lists: {list_memory} bytes")
print(f"Memory used by zip object: {zip_memory} bytes")
  

Output:


Memory used by lists: 160000112 bytes
Memory used by zip object: 64 bytes
  

与两个列表相比,zip 对象使用的内存明显更少,这说明了zip().

 

带有 lambda 函数的 zip()

让我们看一个示例,其中将两个列表中的元素配对,然后使用 lambda 函数创建一个新列表,其中每个元素都是每对中元素的总和。


list1 = [1, 2, 3, 4, 5]
list2 = [6, 7, 8, 9, 10]
pairs = zip(list1, list2)

# Use a lambda function to sum each pair
sums = list(map(lambda pair: pair[0] + pair[1], pairs))
print(sums)
  

Output:


[7, 9, 11, 13, 15]
  

在这个例子中,我们首先使用zip(list1, list2)创建一个 zip 对象,将来自的元素配对在一起list1 and list2.

然后,我们使用了map()带有 lambda 函数的函数lambda pair: pair[0] + pair[1]创建一个新列表sums.

此 lambda 函数接受一对数字并返回它们的和。
这样,zip()function 允许您将多个可迭代的元素配对,而 lambda 函数让您以紧凑且高效的方式处理和操作这些对。

 

嵌套 zip()

你可以筑巢zip()函数以更复杂的方式对多个可迭代的元素进行配对。让我们考虑一个示例,其中您有两个元组列表,并且您希望将每个列表中相应的元组配对在一起。
这是代码:


# Two lists of tuples
list1 = [(1, 2), (3, 4), (5, 6)]
list2 = [('a', 'b'), ('c', 'd'), ('e', 'f')]

# Use nested zip to pair tuples from the two lists
pairs = list(zip(*[zip(*list1), zip(*list2)]))
print(pairs)
  

Output:


[((1, 2), ('a', 'b')), ((3, 4), ('c', 'd')), ((5, 6), ('e', 'f'))]
  

在这个例子中,zip(*list1) and zip(*list2)首先解压元组list1 and list2分成第一元素和第二元素的单独元组。

Then, zip(*[zip(*list1), zip(*list2)])将结果中相应的元组配对在一起zip(*list1) and zip(*list2),有效地将原始元组配对在一起list1 and list2.
请注意,如果过度使用或使用过多级别的嵌套,它可能会变得难以阅读和理解。

 

使用 zip() 的真实示例

为了更好地了解该设备的功能和实用性zip()函数,让我们探索一个现实世界的例子,其中zip()可能会派上用场。

将两个文件中的行配对

假设您有两个文本文件,file1.txt and file2.txt,并且您希望将每个文件中的相应行配对在一起。


with open('file1.txt', 'r') as file1, open('file2.txt', 'r') as file2:
    # Use zip to pair lines from the two files
    for line1, line2 in zip(file1, file2):
        print(line1.strip(), line2.strip())
  

在这个例子中,zip(file1, file2)将来自的相应行配对在一起file1 and file2。然后循环打印每对行。

特征和标签分离

在机器学习中,您经常使用数据集,其中每个实例都表示为特征和标签的元组(或列表)。

对于预处理,您可能需要分离特征和标签。这zip()函数非常适合这个。


dataset = [
    ((1.1, 2.2, 3.3), 0),
    ((4.4, 5.5, 6.6), 1),
    ((7.7, 8.8, 9.9), 0),
]

# Use zip to separate the features and labels
features, labels = zip(*dataset)

print("Features:")
for feature in features:
    print(feature)

print("\nLabels:")
for label in labels:
    print(label)
  

Output:


Features:
(1.1, 2.2, 3.3)
(4.4, 5.5, 6.6)
(7.7, 8.8, 9.9)

Labels:
0
1
0  

在这个例子中,zip(*dataset)将元组分开dataset分成单独的特征和标签元组。

 

资源

https://docs.python.org/3/library/functions.html#zip

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python zip 函数教程(简单示例) 的相关文章

  • Mac OS 上的诗歌安装失败,显示“should_use_symlinks”

    我正在尝试使用以下命令安装诗歌 curl sSL https install python poetry org python3 但它失败了 但有以下例外 例外 此版本的 python 无法在不使用符号链接的情况下创建 venvs 下面是详
  • Twisted 的 Deferred 和 JavaScript 中的 Promise 一样吗?

    我开始在一个需要异步编程的项目中使用 Twisted 并且文档非常好 所以我的问题是 Twisted 中的 Deferred 与 Javascript 中的 Promise 相同吗 如果不是 有什么区别 你的问题的答案是Yes and No
  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • 为什么删除临时文件时出现WindowsError?

    我创建了一个临时文件 向创建的文件添加了一些数据 已保存 然后尝试将其删除 但我越来越WindowsError 编辑后我已关闭该文件 如何检查哪个其他进程正在访问该文件 C Documents and Settings Administra
  • Pandas:GroupBy 到 DataFrame

    参考这个关于 groupby 到 dataframe 的非常流行的问题 https stackoverflow com questions 10373660 converting a pandas groupby object to dat
  • Python 2.7 中的断言对我来说不起作用示例assertIn

    我的 Mac 上安装了 python 2 7 通过在终端中运行 python v 进行验证 当我尝试使用任何新的 2 7 断言方法时 我收到 AtributeError 我看过http docs python org 2 library u
  • Python 中的流式传输管道

    我正在尝试使用 Python 将 vmstat 的输出转换为 CSV 文件 因此我使用类似的方法转换为 CSV 并将日期和时间添加为列 vmstat 5 python myscript py gt gt vmstat log 我遇到的问题是
  • Emacs 24.x 上的 IPython 支持

    我对 IPython 与 Emacs 的集成感到困惑 从 Emacs 24 开始 Emacs 附带了自己的python el 该文件是否支持 IPython 还是仅支持 Python 另外 维基百科 http emacswiki org e
  • 在 Windows 上使用 apache mod_wsgi 运行 Flask 应用程序时导入冲突

    我允许您询问我在 Windows 上使用您的 mod wsgi portage 托管 Flask 应用程序时遇到的问题 我有两个烧瓶应用程序 由于导入冲突 只有一个可以同时存在 IE 如果请求申请 1 我有回复 然后 如果我请求应用程序 2
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • 通过索引访问Python字典的元素

    考虑一个像这样的字典 mydict Apple American 16 Mexican 10 Chinese 5 Grapes Arabian 25 Indian 20 例如 我如何访问该字典的特定元素 例如 我想在对 Apple 的第一个
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • 用 python 编写的数学语法检查器

    我需要的只是使用 python 检查字符串是否是有效的数学表达式 为了简单起见 假设我只需要 运算符 也作为一元 带有数字和嵌套括号 为了完整性 我还添加了简单的变量名称 所以我可以这样测试 test 3 2 1 valid test 3
  • 使用 Pandas 计算 delta 列

    我有一个数据框 如下所示 Name Variable Field A 2 3 412 A 2 9 861 A 3 5 1703 B 3 5 1731 A 4 0 2609 B 4 0 2539 A 4 6 2821 B 4 6 2779 A
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • Anaconda 无法导入 ssl 但 Python 可以

    Anaconda 3 Jupyter笔记本无法导入ssl 但使用Atom终端导入ssl没有问题 我尝试在 Jupyter 笔记本中导入 ssl 但出现以下错误 C ProgramData Anaconda3 lib ssl py in
  • Elasticsearch 通过搜索返回拼音标记

    我用语音分析插件 https www elastic co guide en elasticsearch plugins current analysis phonetic html由于语音转换 从弹性搜索中进行一些字符串匹配 我的问题是
  • python 线程安全可变对象复制

    Is 蟒蛇的copy http docs python org 2 library copy html模块线程安全吗 如果不是 我应该如何在 python 中以线程安全的方式复制 deepcopy 可变对象 蟒蛇的GIL http en w
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此

随机推荐

  • 关于奥尔德伦·桑托斯

    关于奥尔德伦 桑托斯 个人网站 大家好 我是 Aldren Santos 担任自由平面设计师 插画师已有 3 年了 我的任务是尽我所能 让这个网站变得更加精彩 我真心希望我的插图能够吸引您通过我们团队辛勤工作的这些教程学习 Python 的
  • 编写和测试 Python 函数:面试练习(概述)

    无论您是想在编码面试中取得好成绩 还是只是想提高您的开发技能 解决编码挑战可以帮助您成长为一名程序员 在这个真实的 Python 代码对话中 Philipp 向 Martin 提出挑战 要求他编写一个函数 将字符串中的每个字符加倍 通过他们
  • 引导 Django 项目

    有关本课程所涵盖概念的更多信息 您可以查看 如何设置 Django 项目 真正的Python文章 使用 Django 和 Python 构建个人日记 真正的Python文章 以下是本课程中使用的命令行片段 mkdir portfolio p
  • Python 石头剪刀布:命令行游戏(概述)

    游戏编程是学习如何编程的好方法 您可以使用许多在现实世界中看到的工具 此外您还可以玩游戏来测试您的结果 开始 Python 游戏编程之旅的理想游戏是剪刀石头布 在本课程中 您将学习如何 自己编写代码剪刀石头布游戏 接受用户输入input 使
  • 2021 年 4 月 21 日

    主持人大卫 阿莫斯回答会员的问题 在这次会议上 我们讨论了 Real Python 的新功能 在哪里可以找到要阅读的代码以提高您的 Python 技能 为什么 0xfor x in 1 2 3 回报 15 数据科学 Django 和 Fla
  • Python 中的 K 均值聚类:实用指南

    目录 What Is Clustering 聚类技术概述 分区聚类 层次聚类 基于密度的聚类 How to Perform K Means Clustering in Python 了解 K 均值算法 使用 Python 编写您的第一个 K
  • 在 Python 中使用 lru_cache 进行缓存

    有很多方法可以实现快速响应的应用程序 缓存是一种方法 如果使用得当 可以使事情变得更快 同时减少计算资源的负载 蟒蛇的功能工具模块附带 lru cache 装饰器 这使您能够使用以下命令缓存函数的结果最近最少使用 LRU 策略 这是一种简单
  • 拼写错误、缺失或误用 Python 关键字

    以下是有关 Python 关键字的更多信息的资源 Python 关键字 简介 真正的 Python 文章 Python 3 8 关键字 Python 文档
  • Python 标准 REPL:快速尝试代码和想法

    目录 Getting to Know the Python Standard REPL 什么是 Python 的交互式 Shell 或 REPL 为什么使用 Python REPL Starting and Ending REPL Inte
  • 使用 Fabric 和 Ansible 自动化 Django 部署

    目录 设置和配置 Fabric Setup 设置 SSH 密钥 强化用户密码 安装 Ansible 依赖项 将 SELinux 设置为宽容模式 升级服务器 完整性检查 Ansible Primer 剧本 示例手册 Playbook Setu
  • 第 27 集:准备面试 Python 练习题

    第 27 集 准备面试 Python 练习题 真正的 Python 播客 2020 年 9 月 18 日47m RSS Apple Podcasts Google Podcasts Spotify More 播客瘾君子 灰蒙蒙 袖珍铸件 投
  • Python 基础知识:函数和循环(摘要)

    在本视频课程中 您了解了两个最基本的概念 在编程中 函数和循环 首先 您学习了如何定义自己的自定义函数 你看到了 该函数由两部分组成 这函数签名 这开始于def关键字并包括函数名称和函数参数 这函数体 其中包含每当调用该函数时运行的代码 函
  • Python 的 urllib.request 用于 HTTP 请求

    目录 使用 urllib request 的基本 HTTP GET 请求 The Nuts and Bolts of HTTP Messages 了解什么是 HTTP 消息 了解 urllib request 如何表示 HTTP 消息 关闭
  • Django Ninja 的隐蔽 REST API(摘要)

    在本课程中 您已经了解了 Django Ninja REST API 库的所有内容 使用 Ninja 您可以 使用装饰器快速包装 Django 视图创建 REST API 端点 使用类型注释定义变量和参数 写Schema和ModelSche
  • Python 中的 Dijkstra 算法(查找最短路径)

    Dijkstra算法的工作原理是通过迭代找到节点的最短距离值 直到达到实际的最短距离 Dijkstra 算法的一个关键方面是它使用优先队列从尚未处理的节点集中选择具有最小暂定距离的顶点 当前节点被标记为已访问 并检查其所有邻居节点是否有更优
  • 使用 Pandas read_excel 读取 Excel 文件

    Pandas read excel是一个函数蟒蛇熊猫库允许我们在 Python 中读取 Excel 文件并将其转换为数据框 object read excel函数可以导入具有不同扩展名的Excel文件 例如 xls xlsx xlsm和 o
  • Pandas where() 方法:带条件过滤

    The where中的方法Pandas允许您根据条件过滤 DataFrame 或 Series 类似于 SQL 的 WHERE 子句 您是否曾经发现自己需要根据特定条件替换 DataFrame 中的某些值 或者可能想要屏蔽不符合某些条件的数
  • Linux find 命令:综合指南

    The findLinux 中的命令是一个功能强大的实用程序 用于根据您指定的条件搜索和定位文件和目录 它可以按名称 大小 类型 权限 日期和许多其他标准快速定位文件 目录 hide 1 基本语法 2 Finding Files by Na
  • 了解 Linux Sed 命令中的保持缓冲区

    保持缓冲区在sed允许您临时存储和检索输入行 将其视为辅助存储器 您可以在使用主模式空间时放置数据 当您需要一次执行涉及多行的操作时 保持缓冲区特别有用 保留缓冲区不是立即处理和打印每一行 而是让您保存一行 处理其他行 然后在需要时返回保存
  • Python zip 函数教程(简单示例)

    The zip function 是一个内置的 Python 函数 它接受两个或多个序列或集合 如列表或字符串 并创建一个并行聚合每个集合中的元素的迭代器 这种组合这些值的过程称为 压缩 它源于将两个单独的项目集合压缩在一起的想法 目录 h