首页 > 其他分享 >列表生成式

列表生成式

时间:2023-06-17 11:32:31浏览次数:38  
标签:11 生成式 list else range 列表

'''列表生成式即List Comprehensions'''
# https://www.liaoxuefeng.com/wiki/1016959663602400/1017317609699776

list(range(1, 11)) # 生成range序列 不能用[]
[x+0 for x in range(1, 11)] # 遍历对象A中的每个元素a 对之进行处理 将结果a'保存到列表中
[x+0 for x in range(1, 11) if x > 0] # 可筛选
[m + n for m in 'ABC' for n in 'XYZ'] # 可嵌套循环 可多循环

import os
os.listdir('.') == [d for d in os.listdir('.')] # 效果一致

# for循环其实可以同时使用两个甚至多个变量
# 比如dict的items()可以同时迭代key和value
# 因此,列表生成式也可以使用两个变量来生成list
[(k + '=' + v) for k, v in {'x': 'A', 'y': 'B', 'z': 'C' }.items()] # 加()对结果无影响
[s.lower() for s in ['Hello', 'World', 'IBM', 'Apple']]

# 列表生成式中的 for循环与if else 的结合
# for 后可接if 但不能接if else # 因为跟在for后面的if是一个筛选条件,不能带else,否则如何筛选
# for 前可接if else 但不能接if # 因为for前面的部分是一个表达式,它必须根据x计算出一个结果
# 总之, 在一个列表生成式中,for前面的if else是表达式,而for后面的if是过滤条件,不能带else
[x if x % 2 == 0 else -x for x in range(1, 11)]

# 如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,所以列表生成式会报错:
[s.lower() for s in ['Hello', 'World', 18, 'Apple', None] if isinstance(s, str) == True]

标签:11,生成式,list,else,range,列表
From: https://blog.51cto.com/u_16055028/6504652

相关文章

  • Python数据类型-列表与元组
    #题目1:删除如下列表中的"矮穷丑",写出2种或以上方法:#info=["yuze",18,"男","矮穷丑",["高","富","帅"],True,None,"狼的眼睛是啥样的"]info=["yuze",18,"男","矮穷丑",["......
  • 移动端兼容问题列表
    伪类:active生效要CSS伪类 :active 生效,只需要给document绑定 touchstart 或 touchend 事件<style>a{color:#000;}a:active{color:#fff;}</style><aherf=foo>bar</a><script>document.addEventListener('touchstart',fun......
  • python中列表推导式语法问题记录
    有问题代码:w=[0,1,2]e={0:[1,2],1:[3,4],2:[5,6]}r=[dimfordimine[i]foriinw]#这一段python代码有什么问题报错:Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>NameError:name'i'isnotdefined.Didyou......
  • .net core 实现简单爬虫—抓取博文列表
    概述HttpCode.Core源自于HttpCode,不同的是HttpCode.Core是基于.netstandard2.0实现的,移除了HttpCode与windows相耦合的api,且修改了异步实现,其余特性完全与HttpCode相同详细一、介绍一个Http请求框架HttpCode.CoreHttpCode.Core 源自于HttpCode(传送门),不同的是H......
  • 前端vue仿京东天猫简单好用的瀑布流瀑布流式布局列表组件waterfall
    前端vue仿京东天猫简单好用的瀑布流瀑布流式布局列表组件waterfall,下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13046效果图如下:使用方法<!--proList:条目数组数据goProDetail:条目点击事件跳转(实现了点击条目数据传值)--><ccWaterLis......
  • python list 从列表A删除列表B的几种方法
    问题描述:a=['a','b','c','d','e','f']b=['a','c','d']想要得到一个列表C=a-b的元素即c=['b','e','f']转换成集合删除c=list(set(a).difference......
  • 解锁生成式人工智能:时尚品牌企业的6大机遇领域
    探讨生成式人工智能(GenerativeAI)在时尚产业中的应用,以及它对设计、生产和销售过程的影响。通过使用生成式AI技术,时尚品牌可以更快地设计和生产出更加个性化和符合潮流趋势的产品,同时减少浪费和成本。文章还介绍了几个成功的案例。然而生成式AI技术仍然存在一些挑战和数据隐私等......
  • 压测: wrk压测的lua脚本使用随机列表与字符串参数
    ......
  • 低代码工具:jvs-list(列表引擎)2.1.7功能清单及新增功能介绍
    在低代码开发平台中,列表页是一个用于显示数据列表的页面。它通常用于展示数据库中的多条记录,并提供搜索、排序和筛选等功能,以方便用户对数据进行查找和浏览。jvs-list是jvs快速开发平台的列表页的配置引擎,它和普通的crud具备更好的交互操作性,主要特点如下:支持动态模型创建,列表引擎......
  • 面试算法:获取重合列表的第一个相交节点
    给定两个单向链表,这两个链表有可能会有重叠,情况如下:两个单向链表从节点5开始重合,要求给定一个空间复杂度为O(1)的算法,返回两个链表相交时的第一个节点。依据上图,也就是返回节点5.首先我们需要做的是,确保给定的两个单向链表,他们是相交的。这个很好确定,只要从头遍历两个链表,如果他们......