当前位置: 首页 > news >正文

探索list与iterator的区别及yield的用法

1 问题

  1. 探索list与iterator的区别

  2. 探索yield的用法

2 方法

  1. 通过网上学习后了解到 List返回的类型是list,list只会查询一级缓存。

    list()中返回的List中每个对象都是原本的对象。

    查询的时候没遍历一个对象会产生一条sql;


    而iterator这个迭代器返回的类型是iterator,做查询的时候iterate()会先到数据库中把id都取出来,iterate会查询2级缓存,iterate()中返回的对象是代理对象.;

  2. 首先我们要知道什么是yelid,先应该了解generator,iterator,iterable;

Iterables 可迭代的:
代码实现:
mylist = [1, 2, 3]
for i in mylist:
print(i)
e6c5402962d03f89fc64a397085e3e15.png
Iterator 迭代器:
for i in range(5):
print(i) # 0 1 2 3 4
931628cb176eed2b09d0dadbdf91acb0.png
Generator 生成器:
my_generator = (x*x for x in range(10))
for i in my_generator:
print(i) # 0 1 4 9 16 25 36 49 64 81
f81feacc4e3d8630a78f9ecbbb5ad480.png

Yield 产生器:yield相当于return,但它返回的是一个生成器:
代码实现:
def test():
print("First")
yield 1
print("Second")
yield 2
print("Third")
yield 3
my_generator = test() # 创建生成器
print(type(my_generator)) # <class 'generator'>
7be06a362d46cd12ba37b47964ff127f.png
函数使用 yield 作为返回值,那么它就变成了一个生成器函数。与普通函数不同,生成器函数被调用后,函数体中的代码不会立即执行(执行my_generator=test()后不打印任何值),而是返回一个生成器,正如我们前面提到的:generator 是迭代器,而 yield 可以被视为 return。

3 结语

针对list和iterator与yelid用法的问题,提出用代码来实现来验证的方法,通过百度以及在csdn上查询资料了解到这两个问题后,证明该方法是有效的,通过在两个问题我们学习到了list与iterator的区别,以及yelid的函数的可视为return。

相关文章:

探索list与iterator的区别及yield的用法

1 问题 探索list与iterator的区别探索yield的用法 2 方法 通过网上学习后了解到 List返回的类型是list&#xff0c;list只会查询一级缓存。list()中返回的List中每个对象都是原本的对象。查询的时候没遍历一个对象会产生一条sql&#xff1b;而iterator这个迭代器返回的类型是it…...

github技巧和bug解决方法短篇收集

有一些几句话就可以说明白的观点或者解决的的问题&#xff0c;小虎单独收集到这里。 Commits没有算入每天的activity fork的仓库是不算的。 Commits made in a fork will not count toward your contributions. 参考&#xff1a; Contribution activity not shown for github…...

学习笔记五:在k8s中安装EFK组件(elasticsearch+fluentd+kibana)

在k8s 1.3安装EFK组件 前置条件上传压缩包安装nfs供应商创建nfs作为存储的供应商通过deployment创建pod用来运行nfs-provisioner 安装elasticsearch组件安装kibana组件安装fluentd组件 前置条件 查看k8s版本 kubectl get node -owide相关安装包 链接&#xff1a;https://pan.ba…...

Golang编译-如何忽略某些文件去编译

在 Go 语言中&#xff0c;编译好的二进制文件不会被再次加入到编译过程中。Go 编译器只会编译源代码文件&#xff08;如 .go 文件&#xff09;&#xff0c;而不会将已经编译好的二进制文件&#xff08;如可执行文件或静态库&#xff09;作为输入来进行编译。 详细解释&#xf…...

有哪些适合中型企业的人力资源管理系统推荐?

本文主要介绍了以下几款人力资源管理系统&#xff1a;Moka、OrangeHRM、Verint、希沃人事、UKG Pro、大易Dayee、DingTalk、致远OA、卓望ShineHR、GoCo。 在选择人力资源管理系统时&#xff0c;中型企业面临着诸多挑战&#xff1a;如何确保系统既能满足现有需求&#xff0c;又能…...

活动回顾|首次 Cloudberry Database Meetup · 北京站成功举办

8 月 3 日&#xff0c;由酷克数据 HashData 主办的 Cloudberry Database Meetup 北京站活动圆满结束。本次 Meetup 以“以开源应对 Greenplum 闭源&#xff0c;原厂开发者再聚首”为主题&#xff0c;深入探讨了 Greenplum 闭源所带来的影响&#xff0c;并聚焦于 Cloudberry Dat…...

C语言 软件设计的七大原则,及其应用案例

1. 单一职责原则 (Single Responsibility Principle, SRP) 定义&#xff1a; 一个模块或函数应当只有一个引起变化的原因。 应用案例&#xff1a; 在嵌入式系统中&#xff0c;可以将传感器数据的读取和处理分开成不同的函数。例如&#xff1a; // 读取传感器数据的函数 floa…...

初学嵌入式-C语言常犯错误详解

1、对于下面这道题&#xff0c;估计有很多人会选择B答案&#xff0c;但其实答案是D 2.int a10, b9,c9,d; d b || (a>c)&#xff0c;请问上述代码执行完毕后a b c d的值分别是 。 A、10 9 10 9 B、10 10 10 1 C、10 9 10 1 D、10 10 9 1 答案解释&#xff1a; 在C语言…...

Golang 语法入门

Golang 语法入门 Hello World package mainimport "fmt"func main() {fmt.Println("hello world") }变量 package mainimport "fmt"// 全局变量 var ans 123 var cnt intfunc main() {// 单个局部变量a : 114514// 多个局部变量b, c : 114, …...

Filebeat+Kafka+ELK

架构&#xff1a; 部署&#xff1a; #配置nginx&#xff0c;部署filebeat systemctl stop firewalld setenforce 0 systemctl restart nginx#解压filebeat tar -xf filebeat-6.7.2-linux-x86_64.tar.gz mv filebeat-6.7.2-linux-x86_64 filebeat#日志收集 cd firebeat vim fil…...

Python 为Excel单元格设置填充\背景色 (纯色、渐变、图案)

在使用Excel进行数据处理和分析时&#xff0c;对特定单元格进行背景颜色填充不仅能够提升工作表的视觉吸引力&#xff0c;还能帮助用户快速识别和区分不同类别的数据&#xff0c;增强数据的可读性和理解性。 本文将通过以下三个示例详细介绍如何使用Python在Excel中设置不同的单…...

家里浮毛粉尘到处飞?宠物空气净化器出动帮你解决

由于家里收养的十几只流浪猫咪夏季掉毛非常严重&#xff0c;整个房子弥漫着猫毛&#xff0c;而且这十几只里面有七八只还是长毛的品种&#xff0c;掉落的毛发都因为太长而直接掉落成毛团&#xff0c;而短毛的那几只也在掉毛&#xff0c;这十几只掉下的浮毛&#xff0c;家里已经…...

计算机网络ISO七层网络模型及TCP

思维导图&#xff08;通俗理解&#xff09; 首先&#xff0c;先用最通俗的话来描述ISO七层模型&#xff0c;思维导图结构如下&#xff1a; ISO七层网络模型概念 应用层&#xff08;Application Layer&#xff09;&#xff1a;应用层是OSI模型的最高层&#xff0c;直接与用户交…...

机器学习知识点全面总结

一、机器学习基础概念 1、什么是机器学习 机器学习是一种人工智能技术&#xff0c;通过对数据的学习和分析&#xff0c;让计算机系统自动提高其性能。简而言之&#xff0c;机器学习是一种从数据中学习规律和模式的方法&#xff0c;通过数据来预测、分类或者决策。 机器学习的本…...

【研发日记】嵌入式处理器技能解锁(三)——TI C2000 DSP的C28x内核

文章目录 前言 背景介绍 C28x内核 浮点单元(FPU) 快速整数除法单元(FINTDIV) 三角数学单元(TMU) VCRC单元 CPU总线 指令流水线 总结 参考资料 前言 见《【研发日记】嵌入式处理器技能解锁(一)——多任务异步执行调度的三种方法》 见《【研发日记】嵌入式处理器技能解…...

LeetCode.27.移除元素

题目描述&#xff1a; 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以…...

redis面试(十二)可重入锁总结

可重入锁总结 从实现原理以及源码的层面&#xff0c;真正剖析和了解到了redis分布式锁的企业级的实现&#xff0c;这个分布式锁实现的还是非常漂亮的&#xff0c;麻雀虽小&#xff0c;五脏俱全&#xff0c;分布式的可重入锁&#xff0c;总结一下流程 &#xff08;1&#xff0…...

软件测试知识点3

063、一份测试计划应该包括哪些内容? 背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析。 065、如何定位测试用例的作用? 组织性&#xff1a;编写、组织性、功能覆盖、重复性、跟踪、测试确认 066、什么…...

WPF Treeview开启虚拟化后如何找到TreeViewItem

用VirtualizingStackPanel的BringIndexIntoViewPublic方法就好&#xff0c;没必要像微软给的例子那样还要继承一个VirtualizingStackPanel /// <summary> /// Recursively search for an item in this subtree. /// </summary> /// <param name"container…...

给python初学者的一些建议

写在开篇 关于Python&#xff0c;可以这么说&#xff0c;这几年借着数据科学、机器学习与人工智能的东风&#xff0c;Python 老树开新花&#xff0c;在风口浪尖上居高不下。 Python 之所以这么受大家的青睐&#xff0c;是因为它语言简洁&#xff0c;上手容易&#xff0c;让非…...

FLUX.2-klein-base-9b-nvfp4进阶:利用LSTM时序理解优化视频连贯风格转换

FLUX.2-klein-base-9b-nvfp4进阶&#xff1a;利用LSTM时序理解优化视频连贯风格转换 最近在折腾视频风格转换时&#xff0c;发现一个挺让人头疼的问题&#xff1a;用那些单帧处理的模型&#xff0c;出来的视频总是一闪一闪的&#xff0c;风格也忽明忽暗&#xff0c;看着特别不…...

WSL2下USB串口设备‘失踪’?手把手教你找回/dev/ttyUSB0(以Quectel模块为例)

WSL2下USB串口设备消失的终极解决方案&#xff1a;从原理到实战 最近在WSL2环境下调试Quectel模块时&#xff0c;发现一个奇怪现象&#xff1a;lsusb明明能识别设备&#xff0c;但/dev/ttyUSB0却神秘失踪。这让我想起去年调试树莓派时遇到的类似问题&#xff0c;但WSL2的环境特…...

别再只用官方节点了!手把手教你安装n8n社区节点,解锁隐藏工作流能力

解锁n8n隐藏潜能&#xff1a;社区节点深度应用指南 你是否曾在n8n中构建工作流时&#xff0c;发现官方节点无法满足某些特定需求&#xff1f;比如需要更复杂的文本处理、社交媒体深度集成&#xff0c;或是与某些小众API对接&#xff1f;这正是社区节点大显身手的时刻。作为n8n生…...

PXE装机避坑大全:从TFTP根目录设置到Kickstart无人值守的13个常见错误修复

PXE装机避坑大全&#xff1a;从TFTP根目录设置到Kickstart无人值守的13个常见错误修复 在企业级IT运维中&#xff0c;PXE&#xff08;预启动执行环境&#xff09;网络装机技术因其高效、自动化的特点&#xff0c;已成为服务器批量部署的标配方案。但看似简单的PXE部署流程背后&…...

避开这些坑!在PX4 1.14.0上添加自定义串口传感器的完整避坑指南

PX4 1.14.0自定义串口传感器开发实战&#xff1a;从设备注册到数据解析全链路避坑指南 当你在PX4飞控上尝试接入一款新型激光雷达时&#xff0c;是否遇到过这样的场景&#xff1a;按照官方文档一步步操作&#xff0c;编译通过后却发现传感器始终无法输出有效数据&#xff1f;本…...

别再傻傻分不清了!一文搞懂微信支付代金券和商家券的核心区别与适用场景

微信支付代金券VS商家券&#xff1a;技术选型与场景化应用指南 在数字化营销的浪潮中&#xff0c;优惠券作为连接商户与消费者的重要纽带&#xff0c;其技术实现方式直接影响营销效果与用户体验。微信支付提供的代金券与商家券看似功能相似&#xff0c;实则存在架构级差异。本文…...

告别繁琐流程:用快马AI生成脚本实现龙虾部署效率飞跃

最近在团队里负责微服务部署时&#xff0c;发现每次更新代码都要重复执行十几个步骤&#xff1a;拉代码、装依赖、打镜像、推仓库、重启容器...一套流程下来至少半小时&#xff0c;还容易手滑出错。于是研究了一套自动化方案&#xff0c;用Python脚本把整个流程串了起来&#x…...

如何免费快速备份你的QQ空间记忆:GetQzonehistory完整指南

如何免费快速备份你的QQ空间记忆&#xff1a;GetQzonehistory完整指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾经担心过QQ空间里的那些珍贵回忆会随着时间流逝而消失&am…...

华帝COO韩伟:破局立新,“全域协同、效率革命”迎战行业新周期

3月30日&#xff0c;华帝“人生净界”新品发布会在杭州举行。这场发布会&#xff0c;不仅官宣全新代言人张凌赫并重磅发布非遗美学瓷话套系&#xff0c;清晰地传递出华帝面向未来的战略航向。发布会上&#xff0c;华帝股份副总裁兼COO韩伟深度剖析厨电行业变革趋势&#xff0c;…...

查看本地镜像使用 nrm 工具管理(方便切换)

1安装 nrm&#xff1a;npm install -g nrm2查看可用镜像源&#xff1a;nrm ls3切换到淘宝源nrm use taobao...