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

列表理解和Regae

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

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]删除
最新教程 更多>
  • 如何从PHP中的数组中提取随机元素?
    如何从PHP中的数组中提取随机元素?
    从阵列中的随机选择,可以轻松从数组中获取随机项目。考虑以下数组:; 从此数组中检索一个随机项目,利用array_rand( array_rand()函数从数组返回一个随机键。通过将$项目数组索引使用此键,我们可以从数组中访问一个随机元素。这种方法为选择随机项目提供了一种直接且可靠的方法。
    编程 发布于2025-05-11
  • 在JavaScript中如何获取实际渲染的字体,当CSS字体属性未定义时?
    在JavaScript中如何获取实际渲染的字体,当CSS字体属性未定义时?
    Accessing Actual Rendered Font when Undefined in CSSWhen accessing the font properties of an element, the JavaScript object.style.fontFamily and objec...
    编程 发布于2025-05-11
  • 如何检查对象是否具有Python中的特定属性?
    如何检查对象是否具有Python中的特定属性?
    方法来确定对象属性存在寻求一种方法来验证对象中特定属性的存在。考虑以下示例,其中尝试访问不确定属性会引起错误: >>> a = someClass() >>> A.property Trackback(最近的最新电话): 文件“ ”,第1行, AttributeError: SomeClass...
    编程 发布于2025-05-11
  • 如何限制动态大小的父元素中元素的滚动范围?
    如何限制动态大小的父元素中元素的滚动范围?
    在交互式接口中实现垂直滚动元素的CSS高度限制问题:考虑一个布局,其中我们具有与用户垂直滚动一起移动的可滚动地图div,同时与固定的固定sidebar保持一致。但是,地图的滚动无限期扩展,超过了视口的高度,阻止用户访问页面页脚。$("#map").css({ marginT...
    编程 发布于2025-05-11
  • Java数组中元素位置查找技巧
    Java数组中元素位置查找技巧
    在Java数组中检索元素的位置 利用Java的反射API将数组转换为列表中,允许您使用indexof方法。 (primitives)(链接到Mishax的解决方案) 用于排序阵列的数组此方法此方法返回元素的索引,如果发现了元素的索引,或一个负值,指示应放置元素的插入点。
    编程 发布于2025-05-11
  • Python中嵌套函数与闭包的区别是什么
    Python中嵌套函数与闭包的区别是什么
    嵌套函数与python 在python中的嵌套函数不被考虑闭合,因为它们不符合以下要求:不访问局部范围scliables to incling scliables在封装范围外执行范围的局部范围。 make_printer(msg): DEF打印机(): 打印(味精) ...
    编程 发布于2025-05-11
  • Go语言如何动态发现导出包类型?
    Go语言如何动态发现导出包类型?
    与反射软件包中的有限类型的发现能力相反,本文探索了替代方法,探索了在Runruntime。go import( “ FMT” “去/进口商” ) func main(){ pkg,err:= incorter.default()。导入(“ time”) 如果err...
    编程 发布于2025-05-11
  • 在C#中如何高效重复字符串字符用于缩进?
    在C#中如何高效重复字符串字符用于缩进?
    在基于项目的深度下固定字符串时,重复一个字符串以进行凹痕,很方便有效地有一种有效的方法来返回字符串重复指定的次数的字符串。使用指定的次数。 constructor 这将返回字符串“ -----”。 字符串凹痕= new String(' - ',depth); console.Wr...
    编程 发布于2025-05-11
  • 如何使用Depimal.parse()中的指数表示法中的数字?
    如何使用Depimal.parse()中的指数表示法中的数字?
    在尝试使用Decimal.parse(“ 1.2345e-02”中的指数符号表示法表示的字符串时,您可能会遇到错误。这是因为默认解析方法无法识别指数符号。 成功解析这样的字符串,您需要明确指定它代表浮点数。您可以使用numbersTyles.Float样式进行此操作,如下所示:[&& && && ...
    编程 发布于2025-05-11
  • 使用jQuery如何有效修改":after"伪元素的CSS属性?
    使用jQuery如何有效修改":after"伪元素的CSS属性?
    在jquery中了解伪元素的限制:访问“ selector 尝试修改“:”选择器的CSS属性时,您可能会遇到困难。 This is because pseudo-elements are not part of the DOM (Document Object Model) and are th...
    编程 发布于2025-05-11
  • 反射动态实现Go接口用于RPC方法探索
    反射动态实现Go接口用于RPC方法探索
    在GO 使用反射来实现定义RPC式方法的界面。例如,考虑一个接口,例如:键入myService接口{ 登录(用户名,密码字符串)(sessionId int,错误错误) helloworld(sessionid int)(hi String,错误错误) } 替代方案而不是依靠反射...
    编程 发布于2025-05-11
  • 如何在鼠标单击时编程选择DIV中的所有文本?
    如何在鼠标单击时编程选择DIV中的所有文本?
    在鼠标上选择div文本单击带有文本内容,用户如何使用单个鼠标单击单击div中的整个文本?这允许用户轻松拖放所选的文本或直接复制它。 在单个鼠标上单击的div元素中选择文本,您可以使用以下Javascript函数: function selecttext(canduterid){ if(do...
    编程 发布于2025-05-11
  • 如何从Python中的字符串中删除表情符号:固定常见错误的初学者指南?
    如何从Python中的字符串中删除表情符号:固定常见错误的初学者指南?
    从python import codecs import codecs import codecs 导入 text = codecs.decode('这狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#带有...
    编程 发布于2025-05-11
  • Java是否允许多种返回类型:仔细研究通用方法?
    Java是否允许多种返回类型:仔细研究通用方法?
    在Java中的多个返回类型:一种误解类型:在Java编程中揭示,在Java编程中,Peculiar方法签名可能会出现,可能会出现,使开发人员陷入困境,使开发人员陷入困境。 getResult(string s); ,其中foo是自定义类。该方法声明似乎拥有两种返回类型:列表和E。但这确实是如此吗...
    编程 发布于2025-05-11
  • 如何克服PHP的功能重新定义限制?
    如何克服PHP的功能重新定义限制?
    克服PHP的函数重新定义限制在PHP中,多次定义一个相同名称的函数是一个no-no。尝试这样做,如提供的代码段所示,将导致可怕的“不能重新列出”错误。 但是,PHP工具腰带中有一个隐藏的宝石:runkit扩展。它使您能够灵活地重新定义函数。 runkit_function_renction_re...
    编程 发布于2025-05-11

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

Copyright© 2022 湘ICP备2022001581号-3