iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中怎么利用列表推导式实现轻量级循环
  • 433
分享到

Python中怎么利用列表推导式实现轻量级循环

2023-06-15 16:06:44 433人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这期内容当中小编将会给大家带来有关python中怎么利用列表推导式实现轻量级循环,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。单循环[i for i in rang

这期内容当中小编将会给大家带来有关python中怎么利用列表推导式实现轻量级循环,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

单循环

[i for i in range(10)] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

单循环+条件

0-20中所有能被3整除的数是多少

[i for i in range(20) if i%3==0] [0, 3, 6, 9, 12, 15, 18]

多循环-2次

'ABC'和'EGF'所有可能的两两组合

[i+j for i in 'ABC' for j in 'EFG'] ['AE', 'AF', 'AG', 'BE', 'BF', 'BG', 'CE', 'CF', 'CG']

多循环-3次

'ABC'、'EFG'、‘HIJ’所有可能的三三组合

[i+j+u for i in 'ABC' for j in 'EFG' for u in 'HIJ'] ['AEH', 'AEI', 'AEJ', 'AFH', 'AFI', 'AFJ', 'AGH', 'AGI', 'AGJ',  'BEH', 'BEI', 'BEJ', 'BFH', 'BFI', 'BFJ', 'BGH', 'BGI', 'BGJ',  'CEH', 'CEI', 'CEJ', 'CFH', 'CFI', 'CFJ', 'CGH', 'CGI', 'CGJ']

多循环+单条件

首字母相同的男孩 女孩组合:

girls = ['alice','bernice','clarice'] boys  = ['chris','arnold','bob','bernod'] [i+'<->'+j for i in girls for j in boys if i[0]==j[0]] ['alice<->arnold', 'bernice<->bob', 'bernice<->bernod',  'clarice<->chris']

多循环+多条件

第一个字母+第二个字母均相同

[i+'<->'+j for i in girls for j in boys if (i[0]==j[0] and i[1]==j[1])]  ['bernice<->bernod']

元组循环

列表可以直接循环,改成元组也是可以的,但是直接生产了迭代器:

(i+'<->'+j for i in girls for j in boys if i[0]==j[0]) <generator object <genexpr> at 0x0000015413B781C8>  tuples = (i+'<->'+j for i in girls for j in boys if i[0]==j[0]) for t in tuples:     print(t) alice<->arnold bernice<->bob bernice<->bernod clarice<->chris

效率问题

男孩-女孩名字对的例子中,其实效率不是很高,因为程序会检测每个可能的配对。Python中有很多解决这个问题的方法,下面是其中一种比较高效的方法。

letterGirls = {} for girl in girls:     letterGirls.setdefault(girl[0],[]).append(girl) print([i+'<->'+j for j in boys  for i in letterGirls[j[0]]]) ['clarice<->chris', 'alice<->arnold', 'bernice<->bob',  'bernice<->bernod']

看看我们构建的字典长啥样

letterGirls {'a': ['alice'], 'b': ['bernice'], 'c': ['clarice']}

注意:setdefault()方法,是字典的一个方法,类似于get()方法,如果键不存在于字典中,将会添加键并将值设为默认值。如果存在,则返回该字段的值。

语法:

dict.setdefault(key, default=None)

上述就是小编为大家分享的Python中怎么利用列表推导式实现轻量级循环了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python中怎么利用列表推导式实现轻量级循环

本文链接: https://www.lsjlt.com/news/280915.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中怎么利用列表推导式实现轻量级循环
    这期内容当中小编将会给大家带来有关Python中怎么利用列表推导式实现轻量级循环,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。单循环[i for i in rang...
    99+
    2023-06-15
  • Python中怎么实现列表推导式
    Python中怎么实现列表推导式,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。列表解析式(List comprehension)或者称为列表推导式,是 Python 中非常...
    99+
    2023-06-15
  • python中列表推导式怎么用
    这篇文章主要为大家展示了“python中列表推导式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中列表推导式怎么用”这篇文章吧。列表推导式在各...
    99+
    2024-04-02
  • python怎么用列表推导式
    小编给大家分享一下python怎么用列表推导式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!列表(list)推导式关于 Python 编程,我最喜欢的事情之一是它...
    99+
    2023-06-27
  • Python中的列表推导式怎么用
    小编给大家分享一下Python中的列表推导式怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、列表生成式列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生...
    99+
    2023-06-25
  • Python列表推导式怎么应用
    Python列表推导式列表推导式是Python构建列表(list)的一种快捷方式,可以使用简洁的代码就创建出一个列表.一、range()函数python的range()函数可用来创建一个整数列表,一般用在 for 循环中.range()语法...
    99+
    2023-05-20
    Python
  • PHP中怎么利用循环实现一个分类列表
    PHP中怎么利用循环实现一个分类列表,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。< div class="modContent&quo...
    99+
    2023-06-17
  • Python中怎么实现一个序列推导式
    Python中怎么实现一个序列推导式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、列表推导式作用:用一个表达式创建一个有规律的列表或控制一个有规律列表。列表...
    99+
    2023-06-20
  • python循环删除列表中元素怎么实现
    可以使用for循环结合remove()方法来删除列表中的元素。具体实现如下: # 定义列表 lst = [1, 2, 3, 4, 5...
    99+
    2023-10-24
    python
  • Java中的循环队列怎么利用数组实现
    这篇文章将为大家详细讲解有关Java中的循环队列怎么利用数组实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。用Java的数组实现一下循环队列。队列的类//循环队列class CirQueu...
    99+
    2023-05-31
    循环队列 java
  • python列表推导式实现找出列表中长度大于5的名字
    目录列表推导式找出列表中长度大于5的名字任务我的笨办法python列表推导式例如列表推导式找出列表中长度大于5的名字 任务 给定一个列表,使用列表推导式找出列表中长度大于5的名字,并...
    99+
    2024-04-02
  • python中怎么使用for循环遍历列表
    在Python中,通过for循环可以轻松遍历列表中的每个元素。例如,假设有一个列表numbers,其中包含一组数字,可以使用for循...
    99+
    2024-04-08
    python
  • python列表推导式的原理是什么及怎么使用
    这篇文章主要介绍“python列表推导式的原理是什么及怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python列表推导式的原理是什么及怎么使用”文章能帮助大家解决问题。偶尔会在python...
    99+
    2023-06-29
  • 怎么在python中利用列表解析式拼接列表
    今天就跟大家聊聊有关怎么在python中利用列表解析式拼接列表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,P...
    99+
    2023-06-14
  • Android中怎么利用ViewPager实现无限循环
    本篇文章为大家展示了Android中怎么利用ViewPager实现无限循环,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android ViewPager实现无限循环的实例ViewPager自身并不...
    99+
    2023-05-31
    android viewpager
  • 怎么在Linux中利用shell 实现for循环
    本篇文章为大家展示了怎么在Linux中利用shell 实现for循环,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C语言风格for ((i=1; i<=100; ...
    99+
    2023-06-09
  • Python中怎么实现列表生成式
    Python中怎么实现列表生成式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 方法一是循环:L = [] for x in&...
    99+
    2023-06-15
  • vue.js中怎么利用v-for循环实现渲染
    本篇文章为大家展示了vue.js中怎么利用v-for循环实现渲染,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、简介vue.js 的循环渲染是依赖于 v-for ...
    99+
    2024-04-02
  • vue怎么使用el-table实现循环轮播数据列表
    这篇文章主要介绍“vue怎么使用el-table实现循环轮播数据列表”,在日常操作中,相信很多人在vue怎么使用el-table实现循环轮播数据列表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue怎么使用...
    99+
    2023-06-30
  • 怎么在python中实现列表生成式
    怎么在python中实现列表生成式?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作