”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 列表理解和Regae

列表理解和Regae

发布于2024-11-08
浏览:125

List Comprehension and Regae

啊。我一直害怕的那一刻。

第一篇文章,包含我自己的想法、观点和可能的知识细分。

请注意,亲爱的读者,这并不是对 Python 单行 for 循环、追加到列表和返回一些数据的能力的深入探讨或令人难以置信的分解。不,不。这只是展示了如何有趣——以及如何愚蠢——小东西可以组合在一起,让一些东西变得更愚蠢……是的……但也很整洁。

那么,让我们点燃这个垃圾箱吧!万岁!


一个故事:

在我年轻的时候,在夏令营工作,在一个著名的嬉皮风格的岛屿上学习年轻的方式......我听到了一首歌。伙计,是不是很吸引人。虽然不是贾斯汀·比伯的朗朗上口,但仍然朗朗上口。一首我从来不知道的歌曲会对我如何开始学习编写代码产生重大影响。一首名为... “传递荷兰人。”

现在,您可能会想,“雷鬼歌曲与编程到底有什么关系?”请大家竖起耳朵。


通过 Dutchie...列表理解风格:

如果你像我一样,列表推导式可能看起来像一些魔法科学、一句台词,应该“简化”一切。那种甜蜜、甜蜜的“Pythonic”方式。但相反,它让我感觉我的大脑齿轮有点停止运转(你曾经靠在显示器上眯着眼睛吗? - 是的......完全正确)。

这就好像我被要求将一些神秘的、神奇的“dutchie”(咳嗽..变量..咳嗽)传递到左侧,但我不知道我传递的是什么,它要去哪里,或者为什么它很重要。 (好吧,我做到了,但为了故事的缘故......)

让我分解一下:列表推导式都是关于传递事物,就像歌曲中一样。这是一种过滤和转换列表的方法,所有这些都在一个整齐的行中。你应该看看我写的一些可怕的编码只是为了“嘿看,我把它塞进了一行代码!格兰芬多加分!”我确信你们中的大多数人'一切都可以涉及,(我真的更喜欢多行代码,你知道......可读性)。

为什么列表推导式很重要: 列表推导式不使用多行循环和append()方法,而是允许您用更少的行编写简洁、可读的代码。它们通常也更快,这使得它们成为 Python 开发人员在处理列表时最喜欢的工具。


所以...对于我们这些可能会或可能不会或可能会的人(哇,自动更正让我在那里疯狂地骑行),我给你我的大脑的解决方案来理解最基本的列表理解:

left_hand_side = ['dutchie', 'pon the left hand side']

def catchyReggaeFunction(lyrics):
    where_the_dutchie_is_passed_to = [
        f"pass the {pon_the} pon the left hand side" for pon_the in lyrics if pon_the == 'dutchie'
    ]
    return where_the_dutchie_is_passed_to

printer = catchyReggaeFunction(left_hand_side)
print(printer)

输出:

['pass the dutchie pin the left hand side']

这个愚蠢的例子的目的是表明列表推导式都是关于传递事物的——就像 dutchie 一样。在本例中,我从列表中过滤掉“dutchie”并将其传递到新列表中。


外卖...呃,外卖:

如果您正在努力解决诸如列表推导之类的抽象概念,那么您并不孤单。每个人一开始都觉得这东西是巫师级的魔法,但过了一会儿就开始有意义了。就像一首朗朗上口的歌曲的副歌,一旦你听够了,它就会被记住。

这就是:我从困惑到理解列表理解的旅程,一次一个荷兰人。

现在,我们不是都玩得很开心吗?

版本声明 本文转载于:https://dev.to/yoshed-it/list-comprehension-and-regae-4ne6?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • (SQL 查询)Express.js 中的缓存与索引
    (SQL 查询)Express.js 中的缓存与索引
    开发者您好,这是我在这个平台上的第一篇文章! ? 我想分享我在 Express.js 和 SQL 方面的令人惊讶的体验。我是一名初学者开发人员,在为我的项目开发 API 时,我每天处理超过 20 万个 API 请求。最初,我使用 Express.js API 设置了一个 SQLite 数据库(约 4...
    编程 发布于2024-11-08
  • 以下是一些适合您文章内容的基于问题的标题:

* 如何为 Spring Boot 应用程序配置上下文路径?
* 如何使用自定义 Con 访问我的 Spring Boot 应用程序
    以下是一些适合您文章内容的基于问题的标题: * 如何为 Spring Boot 应用程序配置上下文路径? * 如何使用自定义 Con 访问我的 Spring Boot 应用程序
    如何向 Spring Boot 应用程序添加上下文路径Spring Boot 提供了一种简单的方法来设置应用程序的上下文根,允许它通过 localhost:port/{app_name} 访问。操作方法如下:使用应用程序属性:在 src/main/resources 目录中创建一个 applicat...
    编程 发布于2024-11-08
  • 代码日数:高级循环
    代码日数:高级循环
    2024 年 8 月 30 日星期五 我目前正在学习 Codecademy 全栈工程师路径的第二门课程。我最近完成了 JavaScript 语法 I 课程,并完成了 JavaScript 语法 II 中的数组和循环作业。接下来是对象、迭代器、错误和调试、练习和三个挑战项目。 今天的主要亮点是学习对我...
    编程 发布于2024-11-08
  • Angular Addicts # Angular 隐式库,未来是独立的等等
    Angular Addicts # Angular 隐式库,未来是独立的等等
    ?嘿,Angular Addict 伙伴 这是 Angular Addicts Newsletter 的第 29 期,这是一本每月精选的引起我注意的 Angular 资源合集。 (这里是第28期、27期、26期) ?发布公告 ? Angular 18...
    编程 发布于2024-11-08
  • 如何在 Java HashMap 中将多个值映射到单个键?
    如何在 Java HashMap 中将多个值映射到单个键?
    HashMap 中将多个值映射到单个键在 Java 的 HashMap 中,每个键都与单个值关联。但是,在某些情况下,您可能需要将多个值映射到单个键。以下是实现此目的的方法:多值映射方法:最简单、最直接的方法是使用列表映射。这涉及创建一个 HashMap,其中的值是包含多个值的 ArrayList。...
    编程 发布于2024-11-08
  • 如何使用 PHP 高效地检查文件中的字符串?
    如何使用 PHP 高效地检查文件中的字符串?
    如何在 PHP 中检查文件是否包含字符串要确定文件中是否存在特定字符串,让我们探索一下解决方案和更有效的替代方案。原始代码:提供的代码尝试检查通过逐行读取文件来判断文件中是否存在由变量 $id 表示的字符串。但是,while 循环中的条件 (strpos($buffer, $id) === fals...
    编程 发布于2024-11-08
  • 小型 Swoole 实体管理器
    小型 Swoole 实体管理器
    我很高兴向大家介绍 Small Swoole Entity Manager。 它是一个围绕 Swoole(和 OpenSwoole)构建的 ORM。 它支持异步连接到: MySQL Postgres Small Swoole Db(Swoole Tables 之上的关系层) 目前仅提供核心包; S...
    编程 发布于2024-11-08
  • WebCodec - 发送和接收
    WebCodec - 发送和接收
    介绍 你好! ? 在本教程中,我将向您展示如何使用 WebCodec API 发送和接收视频。 首先让我们对服务器进行编码。 设置服务器 为了在对等点之间发送和接收数据包,我们需要一个 websocket 服务器。 为此,我们将使用 Nodejs 创建一个非常基...
    编程 发布于2024-11-08
  • 为什么 PHP ftp_put() 失败:分析和解决问题
    为什么 PHP ftp_put() 失败:分析和解决问题
    PHP ftp_put 失败:分析问题并解决它传输时 ftp_put() 无法正常运行可能是一个令人沮丧的问题通过 FTP 传输文件。在 PHP 中,此问题的常见原因在于默认使用主动模式。主动与被动模式传输主动模式指示 FTP 服务器连接到指定端口上的客户端。另一方面,被动模式让服务器侦听随机端口,...
    编程 发布于2024-11-08
  • 如何从字符串中删除非数字字符,同时保留 Java 中的小数分隔符?
    如何从字符串中删除非数字字符,同时保留 Java 中的小数分隔符?
    在删除 Java 字符串中的非数字字符时保留小数分隔符使用 Java 字符串时,可能会出现您需要的情况删除所有非数字字符,同时保留小数点分隔符。使用正则表达式和replaceAll()方法可以有效地实现这一点。为了解决这个问题,我们可以使用以下代码片段:String str = "a12....
    编程 发布于2024-11-08
  • 如何重新排列 MySQL 中的列以提高数据可视性和查询效率?
    如何重新排列 MySQL 中的列以提高数据可视性和查询效率?
    有效地重新排列 MySQL 列以增强可见性当列没有最佳排序时,查询大型数据库可能会很麻烦。本文提供了一个全面的解决方案,可以轻松地重新排列现有列,优化表的可见性而不影响其数据完整性。要修改列的位置,请使用“ALTER TABLE”命令,后跟“MODIFY”子句。此语法允许您通过在指定的引用列之后指定...
    编程 发布于2024-11-08
  • 如何正确使用 getElementsByClassName 并根据事件更改元素样式?
    如何正确使用 getElementsByClassName 并根据事件更改元素样式?
    使用 getElementsByClassName 更改元素样式getElementsByClassName 允许您选择具有相同类名的多个元素。在给出的示例中,代码旨在当事件发生在具有特定类名的所有 div 之外时更改这些 div 的背景颜色。问题诊断The提供的代码有一些问题: getElemen...
    编程 发布于2024-11-08
  • 为什么我的画布图像无法绘制?异步图像加载的重要性。
    为什么我的画布图像无法绘制?异步图像加载的重要性。
    绘图前等待图像加载尝试将图像添加到画布时,确保图像在绘制之前加载至关重要试图画它。您在代码中遇到的问题是由于图像加载的异步性质造成的。要解决此问题,您需要向图像的 onload 事件添加回调函数。该回调函数将在图像加载完成时执行,确保在尝试绘制图像之前图像数据可用。下面更正的代码将等待图像加载,然后...
    编程 发布于2024-11-08
  • Golang 中的 LeetCode:解析布尔表达式
    Golang 中的 LeetCode:解析布尔表达式
    这是我喜欢解决的 LeetCode 问题之一。我用 Golang 解决了这个问题,而且我已经是一个 Go 新手了,刚开始学习一周。 直觉 这个问题是实现计算器程序的另一个版本,该程序接受一个字符串并对其进行计算。您必须通过评估内部括号和外部括号来解决问题,直到得到最终结果。这些问题...
    编程 发布于2024-11-08
  • 预防 XSS 攻击的方法:综合指南
    预防 XSS 攻击的方法:综合指南
    1.什么是XSS? XSS(即跨站脚本)是 Web 应用程序中发现的一种安全漏洞。它允许攻击者将恶意脚本(通常是 JavaScript)注入到其他用户查看的网页中。这可能会导致未经授权的操作、数据盗窃或会话劫持。 1.1. XSS 攻击的类型 XSS攻击一般分为三...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3