python day17:迭代器,生成器,time和random模块

全面理解Python中的迭代器 迭代是一种重复获取数据集合中元素的过程,一次只获取一个元素,直到遍历完所有元素。在Python中,迭代通常用于遍历序列(如列表、元组)或任何可迭代对象。自定义迭代器允许我们创建自己的数据结构并以迭代方式访问其内容。在Python中,最常见的方式是通过生成器函数来实现。生成器函数是一种特殊的迭代器,使用yield语句暂停和恢复函数的执行。# 使用自定义迭代器print(num)itertools模块包含了许多有用的迭代器函数,如count()cycle()chain()等。例如,count()break。 阅读详情

列表生成式

a=[x for x in range(10)]

有人说直接a=range(10)不就好了嘛,何必要弄一个列表生成式你

a=[x**2 for x in range(10)]
def f(n):
    return n**2
a=[f(x) for x in range(10)]

 这便是列表生成式的简便之处

生成器

a=(x for x in range(10))
print(a)

 如果根据列表生成器的思路,打印出来的应该是一个一到十的元组

然而结果如下

<generator object <genexpr> at 0x0000022368C08740>

相比于列表占内存,调用的时候要从内存里来拿,生成器就像一个厨师,你不吃的时候他不做菜,要吃的时候才做好了端上来。

想要拿出生成器的内容,需要函数next

a=(x for x in range(10))
print(next(a))

输出结果为0

再next一次输出结果为1

以此类推

注意,在python2中是用a.next()方法调用的

如果超出了range的范围,会报错提示超出迭代范围

我们发现生成器就是一种迭代器,则也可以用迭代器的常用方法拿取内容

a=(x for x in range(10))
for i in a:
    print(i)

生成器还可以用yield方法生成

def gene():
    yield 1

gene()就是一个生成器

和一般的函数不同,我们说函数f是一个单独的变量,加上括号变成f()代表调用函数f,而gene()自己本身就是生成器

在每次用next调用迭代器时,指针会停在上一次调用yield的位置,因此

def gene():
    a=1
    yield a
    a+=1
    yield a
c=gene()
print(next(c))
print(next(c))

输出结果为 

1

2

但是若不把生成器赋给变量而直接next引用

def gene():
    a=1
    yield a
    a+=1
    yield a

print(next(gene()))
print(next(gene()))

输出结果为

1

1

因为直接引用作为函数的生成器在每次调用都会从头开始执行,这一情况要注意!

yield在某些尺度上可以说是保存了命令所在的状态,例如

def gene():
    a=1
    yield a
    a+=1
    print('status')
    yield a
c=gene()
print(next(c))
print(next(c))

输出结果为

1

status

2

说明next一次函数就执行一次到下一个yield的进度

send 方法

sand除了和next一样一个一个调出生成器内容的功能外,还可以给yield 的变量传值

def gene():
    a=1
    c=yield a
    print(c)
    a+=1
    yield a
g=gene()
print(g.send(None))
g.send(10)

send内必须跟一个内容,不然会报错,g.send(None)等同于next(g) 

并且在生成器第一次迭代时send内只能加None,不然会报错

之后每一次send()都会把send的内容赋值给前一次的yield

则可以知道上段代码输出结果为

1

2

迭代器

生成器都是迭代器,迭代器不都是生成器

什么是迭代器?

满足两个条件(迭代器协议):1.有iter方法 2.有next方法

a=[1,2,3,4]
d=iter(a)

iter方法返回一个迭代器对象

例如list,tuple,dict,string这些可迭代对象都可以生成迭代器

对于for循环在处理数据的过程中:

1 调用可迭代对象的iter方法返回一个迭代对象

2 不断调用迭代器对象的next方法

3 处理StopIteration

可以发现for循环都是把输入的可迭代对象处理成迭代器再进行循环next

isinstance的用法

isinstance(数据对象,可迭代类型)

用于判断数据对象是否为相应可迭代类型

例如

print(isinstance([1,2,3],list))

输出结果为True

也可以判断数据对象是否为迭代器

from collections import Iterator,Iterable
def a():
    yield 1
print(isinstance(a(),Iterable))

time 模块

import time

time.time 

print(time.time())

输出以时间戳表示的当前时间(时间戳是以秒为单位,当前时间到unix诞生那年的时间差)

time.clock

print(time.clock())

用于返回CPU时间,以此来计算程序的耗时,python3.8之后删除了time.clock(),用time.perf_counter()代替

time.gmtime

print(time.gmtime())

结构化时间,输出结果为世界标准时间(格林尼治时间)

time.struct_time(tm_year=2023, tm_mon=2, tm_mday=14, tm_hour=6, tm_min=55, tm_sec=40, tm_wday=1, tm_yday=45, tm_isdst=0)

time.localtime

本地时间,输出的结构和gmtime一样,时间是电脑设定所在时区的时间

time.strftime

print(time.strftime('%Y:%m:%d',time.localtime()))

输出结果
   
2023:02:14

且结果数据类型为str

strftime目的就是将结构化时间格式化成字符串时间
    
    %Y  Year with century as a decimal number.
    %m  Month as a decimal number [01,12].
    %d  Day of the month as a decimal number [01,31].
    %H  Hour (24-hour clock) as a decimal number [00,23].
    %M  Minute as a decimal number [00,59].
    %S  Second as a decimal number [00,61].
    %z  Time zone offset fom UTC.
    %a  Locale's abbreviated weekday name.
    %A  Locale's full weekday name.
    %b  Locale's abbreviated month name.
    %B  Locale's full month name.
    %c  Locale's appropriate date and time representation.
    %I  Hour (12-hour clock) as a decimal number [01,12].
    %p  Locale's equivalent of either AM or PM.

time.strptime

和strftime相反,strptime是将字符串时间转化成结构化时间

print(time.strptime('2000-01-01','%Y-%m-%d'))

time.ctime

把时间戳转换成已被定义号的字符串时间

print(time.ctime(200))

输出结果为

Thu Jan  1 08:03:20 1970

time.mktime

print(time.mktime(time.localtime()))

把结构化时间转化为时间戳

random模块

import random

random.random

print(random.random())

   随机生成一个0-1的一位小数

random.randint

print(random.randint(1,8))

自己设定范围,随机生成一个范围(注意是两边都是闭区间)内的整数 

random.choice

print(random.choice('hello'))

内部可放任意一种可迭代对象,然后随机选出一个元素

random.shuffle 

x=[1,2,3,4,2]
random.shuffle(x)
print(x)

洗牌器,把原本列表(注意只有列表)打乱 ,注意random.shuffle()自身没有返回值,所以出现例如x=random.shuffle([2,3,4])这样只能得到一个None值

random.sample

print(random.sample('hello'),3)

从一个可迭代对象中随机拿出特定数目的元素

random.randrange()

print(random.randrange(1,8))

其实和random.randint差不多,除了取值范围是左开右闭区间 

Python工程实战:从语法到生产环境的文件处理与数据结构活用 Python作为通用编程语言,其核心价值不仅在于语法简洁,更在于对真实系统场景的支撑能力。理解文件I/O原理(如readlines内存爆炸、生成器流式处理、mmap内存映射)是应对日志分析、大数据清洗等高频任务的基础;掌握defaultdict的原子性机制与Counter的统计优化,则直击并发计数、频次聚合等典型工程痛点。这些技术并非孤立知识点,而是围绕‘低内存开销’‘高解析鲁棒性’‘线程安全计数’三大技术价值,在Nginx日志分析、嵌入式设备日志处理、离线Docker环境配置管理等实际场景中形成闭环。本文 阅读详情

相关推荐

python中的高效迭代器函数

python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~首先还是要先import一下:#import itertools from itertools import * #最好使用时用上面那个,不过下面的是为了演示比较 常用的,所以就直接全部导入了一.无限迭代器:

Great haste makes great waste 1万+

python 可迭代对象,迭代器,生成器,装饰器

在Python中,理解可迭代对象、迭代器、生成器和装饰器的概念是非常重要的,这些概念构成了Python中处理数据和函数的高级特性。

做一位与众不同的吗喽 388

Pandas入门教程(二十二):股票数据分析实战——yfinance 获取数据、技术指标与收益率分析

把 Pandas 用在真实场景,才能体会它的价值。本文以茅台股票为例,用 yfinance 获取历史行情,完成缺失值处理与列筛选,绘制收盘价曲线,计算 SMA 移动平均线与 RSI 相对强弱指数,并通过日收益率、累计收益率和波动率完成完整的量化分析流程。

Smell_of_earth的博客 332

Python-random的用法

在Python中的库可以分为三种:标准库(也可以叫做内置库),第三方库,自定义库。接下来将记录一下几个常用的标准库的用法:randomrandom生成0-1的随机浮点数import random print(random.random()) # 随机生成一个0-1的随机数uniform(a,b)随机生成a-b之间随机浮点数import random print(random.uniform(1,2

奔跑的豆子的专栏 6258

【信息科学与工程学】计算机科学与自动化——第三百零五篇 计算机系统中的各类运算操作01

编号类型领域运算操作运算类型算法算法的详细设计及数学分析参数列表及参数的数值设计应用场景 (100+条)集合运算​1集合运算关系代数并集 (Union)集合运算归并排序去重合并两个集合,去除重复元素。时间复杂度 O(n+m),n,m为两集合大小。输入:集合A, B。输出:A∪B。数据集成、多表结果合并、去重后的全量数据提取。2集合运算关系代数交集 (Intersection)集合运算哈希交集找出同时属于两个集合的元素。平均时间复杂度 O(min(n,m)),最坏 O(n*m)。输入:集合A, B。输出:A∩

weixin_49199313的博客 1389

如何处理动态语言(Python / JS)的“隐形”调用链?

本文揭示动态语言(Python/JS)中静态AST解析导致调用链“断链”的核心问题,提出通过运行时追踪补全图谱的解决方案。基于Code-Graph-RAG的cgr trace机制,分别利用pytest插件与V8 Profiler捕获真实调用路径,将动态边合并至静态图谱,并在权重体系中提升动态边优先级。实践表明,该方法可显著提升图谱覆盖率,实现“结构+行为”双视角理解代码,为MCP与Rerank系统提供可靠支持。

xianyinsuifeng的博客 412

Python 迭代器 -- iterator

– Start 什么是迭代器? 迭代器其实是一个规范,实现了这个规范的类就可以在 for 循环中使用,如我们之前学的列表,元组等。 自定义迭代器 下面的例子定义了一个随机迭代器。 import random class MyContainer: def __init__(self, *elements): self._elements = list(elements) # 自定义迭代器...

千里之行始于足下 436

树莓派通过TTL3.3转485 Modbus采集水表

所需道具 树莓派0,我用的是树莓派zero wh; 具有光电直读功能的有线水表,我用的是咸鱼淘的埃美柯LXSY-20E1; TTL3.3 转 485模块,带隔离的贵些; 5V转12V升压模块。 原理 树莓派有UART(GPIO14 Tx 和 GPIO15 Rx)串口通讯功能,电器特性是3.3V TTL,直读远传水表支持M-Bus/485通讯接口,我买的光电直读水表485要求12V供电(根据仪表厂家说明书)。TTL和485虽然都是串口通讯,但电器特性不一样,不能直接接!我已经烧掉一个树莓派...

xhydongda的博客 3443

python 九——函数、迭代器、map、reduce、lambda\random模

一、函数基础 1.1 创建函数 标题行由def关键字,函数名,以及参数的集合组成;def子句的剩余部分包括了一个虽然可选但是强烈推荐推荐的文档字串,和必需的函数体。 函数用def语句创建,语法: def function_name(arguments): “function_documentation_string” function_body_suite 注意: 1)前向引用:函数不允许在...

尘埃落定 587

【多媒体交互】Unity+普通摄像头实现UI事件分析

利用摄像头捕捉用户的手势或动作,结合坐标映射与事件系统触发UI交互

qq_38350004的博客 1319

CS231n+assignment2(一)

cs231n作业二详解+代码

qq_56551150的博客 2411

python从random生成列表_Python 学习DAY 17 列表生成式,生成器,迭代器,time模块,random模块...

********************************************列表生成式******************a=[x for x in range(10)] [0,1,2,3,4,5,6,7,8,9]a=[x*2 for x in range(10)] [0,2,4,6,8,10.....] ...

weixin_39648430的博客 110

FPGA新手避坑指南:手把手教你搞定RTL8211千兆网PHY的时序配置(附Verilog代码)

本文详细解析了FPGA与RTL8211千兆网PHY芯片的时序配置问题,重点介绍了TXDLY/RXDLY引脚设置、FPGA发送端和接收端的Verilog实现,以及调试与验证的完整流程。通过硬件电路设计和代码示例,帮助开发者解决网络连接不稳定、丢包等常见问题,提升千兆网通信的稳定性。

weixin_28732953的博客 542

day5常用内置模块(一)生成器,迭代器,内置函数

模块,用一砣代码实现了某个功能的代码集合。 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。 如:os 是系统相关的模块;file是文件操作相关的模块 模块分为三种: 自定义模块 内置标准模...

weixin_30414635的博客 125

标签传播算法LPA:半监督学习解决标注数据不足的完整实战指南

在机器学习实际工程中,标注数据稀缺往往是制约模型性能的核心瓶颈。半监督学习提供了一条利用海量未标注数据来增强模型泛化能力的有效路径,其中标签传播算法(Label Propagation Algorithm, LPA)因其直观的图结构和优雅的数学原理而备受关注。LPA通过将样本映射为图中的节点,以相似度作为边权重,让已知标签沿着图结构不断扩散,从而实现对未知样本的预测。其背后基于聚类假设与流形假设,能在低标注率场景下显著缓解过拟合问题,提升分类准确率。该技术在文本分类、金融风控、图像识别等存在大量无标注数据的

weixin_29056781的博客 241

汽车UDS诊断详解及Vector相关工具链使用说明——1.1 应用层协议整体介绍

本文我们先从整体的维度来介绍一下应用层协议,每个UDS服务都遵循本文中的协议。 一、SI(Service ID) SI是UDS指令的第一个字节,我们第一篇文章中提到的10等服务就是指这个服务的SI=0x10,它是服务的标识,每个服务的SI都是唯一的。 ...

weixin_42967006的博客 5475

05阶段:NLP自然语言处理基础(2)

本文系统讲解了NLP中的迁移学习,重点介绍了fastText工具的使用及其模型原理。主要内容包括: fastText工具概述:fastText是Facebook开发的NLP工具包,具有文本分类和词向量训练两大功能,优势在于速度快、精度高。其安装简单,通过pip即可完成。 fastText模型架构:基于类似CBOW的三层结构,使用层次softmax和负采样提升效率。层次softmax通过哈夫曼树实现多类别高效分类;负采样通过随机选择部分负样本来降低计算量。 应用实践:详细演示了使用fastText进行文本分类

专注前端开发领域,深耕 Python AI Agent应用开发,热爱探索 Web 与人工智能的前沿技术。 503

55、磁吸附爬壁机器人运动仿真与位置控制

本文针对大型船舶喷涂作业中人工操作存在的高风险与低效率问题,提出一种基于麦克纳姆轮的磁吸附爬壁机器人运动控制方案。通过建立Adams虚拟样机与MATLAB/Simulink控制系统的联合仿真模型,设计了速度和位置双闭环控制系统,采用模糊PI控制器优化速度响应,并引入位置反馈补偿重力引起的垂直偏移。研究结果表明,模糊PI控制器在响应速度、超调抑制和位置稳定性方面优于传统PI控制器,且位置反馈能有效校正横向移动中的下坠现象,尤其在跨越焊缝等复杂工况下仍可保持稳定运行,显著提升了爬壁机器人的运动精度与作业可靠性。

linux6sysadmin的博客 168

python函数-随机数-生成器-迭代器

随机数 函数名称 函数功能 参数说明 rand(d0, d1, …, dn) 产生均匀分布的随机数 dn为第n维数据的维度 randn(d0, d1, …, dn) 产生标准正态分布随机数 dn为第n维数据的维度 randint(low[, high, size, dtype]) 产生

yc2421的博客 1191

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 411

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

从一段视频到可漫游的 4D 有声场景:思路拆解与最小复现手记

只需一段手机视频,你就能生成可"走进去"的 4D 有声场景:转头时狗叫声方向随之变化,走近时声音更清晰。本文拆解 Video-to-4DAVScene 的核心思路,手把手带你用几十行 Python 搭出最小管线,把视频中的运动物体变成带空间位置的声源,并附上三个真实踩坑的排障经验,代码可直接跑。🎧

helloagent的博客 235

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【每天一个 Python 小案例30】Python 基础知识综合小项目:我的工具盒

作为系列收官,本篇把前 29 篇的知识点合成一个能直接用的命令行工具"我的工具盒":计算器(用 ast 解析表达式,不碰 eval)、单位换算与温度转换(一张换算表 + 特例分支)、记账与分类统计(Decimal + JSON 持久化)、以及用"字典当命令表"把菜单和业务逻辑解耦的主循环。文中对比了 eval 的安全隐患与 ast 白名单的做法,解释了 lambda 闭包在字典里的写法与晚绑定陷阱,并在最后给出整个系列的知识地图,把变量、数据结构、控制流、函数、类、异常、文件、标准库八块内容对应到具体篇目。

xinjiyaya的博客 427

详解Python条件语句

在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。

2601_96798737的博客 208

Python3 协程:异步编程的核心机制与实战

协程是解决I/O密集型任务等待瓶颈的高效机制,相比线程更轻量、无锁开销。从yield到async/await的演进,使异步编程语义清晰、易于理解。通过async/await可实现并发执行多个任务(如gather、create_task),显著提升网络请求、爬虫等场景性能。关键在于使用异步库(如aiohttp)替代同步库,避免阻塞事件循环。合理控制超时与并发数,才能发挥协程最大优势。

Lxn2zh的博客 159
上一篇: python day16:装饰器
下一篇: python气象学习:聚类分析用于台风
Dovah1n
博客等级 码龄6年 404粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值