python爬虫(3)

上一次的代码结果如下:

当然会有一点点不一样是正常的表现,因为这个图本身使用随机数rand函数做的,用其他两种随机函数出来的结果也不会完全相同。

继上节这次带来的是数组的重塑和转置

1、一维数组的重塑

在NumPy模块中的reshape()函数可以在不改变数组元素内容和个数的情况下重塑数组形状

代码示例如下:

import numpy as np

c = np.array([1,2,3,2,3,4,4,5,6,9,8,4])

o =c.reshape(3,4)

p =c.reshape(4,3)

print(o)

print(p)

其中这里reshape(行数,列数)

结果如下:

2、多维数组的重塑

这里reshape也可以改变多维数组的形状

import numpy as np

c = np.array([1,2,3,2,3,4,4,5,6,9,8,4])

o =c.reshape(3,4)

p =o.reshape(4,3)

print(o)

print(p)

这里是将上个例子进行改变可以发现还是可以改变的

结果如下:

其中将多维数组改编为一维数组也是有办法的

flatten()和ravel()函数

示例如下:

import numpy as np

c = np.array([1,2,3,2,3,4,4,5,6,9,8,4])

o =c.reshape(3,4)

p =o.reshape(4,3)

print(o.flatten())

print(p.ravel())

结果如下:

数组的转置:

T属性:就是将数组的行和列进行交换

import numpy as np

c = np.array([1,2,3,2,3,4,4,5,6,9,8,4])

o =c.reshape(3,4)

print(o)

print(o.T)

结果如下:

当然有一个与T属性效果相同的函数叫做transpose()

例子如下:

import numpy as np

c = np.array([1,2,3,2,3,4,4,5,6,9,8,4])

o =c.reshape(3,4)

print(o)

c1=np.transpose(o)

print(c1)

结果如下:

为大家带来一串代码:

def lcs(str1, str2, dp):

    len1 = len(str1)

    len2 = len(str2)

    for i in range(1, len1+1):                          

        for j in range(1, len2+1):

            if str1[i-1] == str2[j-1]:                  

                dp[i][j] = dp[i-1][j-1] + 1

            else:

                dp[i][j] = max(dp[i-1][j], dp[i][j-1])

    return dp[len1][len2]                              

def getlcs(str1, str2, dp):

    i = len(str1)

    j = len(str2)

    res = " "

    while(i != 0 and j != 0):                          

        if(str1[i-1] == str2[j-1]):

            res += str1[i-1]

            i -= 1

            j -= 1

        else:

            if(dp[i][j] == dp[i-1][j]):                

                i -= 1

            else:

                j -= 1

    return res[::-1]                                    

str1 = "bdcaba"

str2 = "abcbda"

lenA = len(str1)

lenB = len(str2)

dp = [[0 for i in range(lenA+1)] for j in range(lenB+1)]  

length = lcs(str1, str2, dp)

print("最长公共子序列长度为:", length)

print("dp表为:", dp)

res = getlcs(str1, str2, dp)

print("最长公共子序列为:", res)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Vue+ElementUI】Table表格实现自定义表头展示+表头拖拽排序(附源码)

效果图 因项目采用的是Vue2,所以这个功能目前采用的是Vue2的写法。 Vue3请自行修改扩展代码;或收藏关注帖子,后续Vue3项目如有用到会在本帖子更新修改。 安装vuedraggable(拖拽插件) cnpm i vuedraggable先说用法&…

kafka查看消息两种方式(命令行和软件)+另附发送消息方式

1、命令行方式 ①找到kafka安装文件夹 ②执行命令 #指定offset为指定时间作为消息起始位置 kafka-consumer-groups.sh \ --bootstrap-server 20.2.246.116:9092 \ --group group_1 \ --topic lanxin_qiao \ --reset-offsets \ --to-datetime 2023-07-19T01:00:00.000 \ -exe…

MySQL-Linux安装

JDK安装(linux版) CentOS7环境: jdk下载地址huaweicloud.com 创建目录: mkdir /opt/jdk通过 ftp 客户端 上传 jdk压缩包(linux版本)到 1中目录进入目录:cd /opt/jdk解压:tar -zxv…

一篇了解电感的使用

一、电感理论基础 1.电感的定义 当电流通过线圈后,会产生磁场,磁感线穿过线圈,产生的磁通量与电流 i有如下关系: 将漆包线、纱包线或塑皮线等在绝缘骨架或磁心、铁心上绕制而成的器件,当线圈通过电流后,在…

linux应用程序需要编写的脚本

每一个程序都按照下面的要求进行脚本编写 多个应用之间联合安装采用编写外围脚本,依次调用多个应用的脚本的方式实现

MyBatis Oracle 批量插入数据

MyBatis Oracle 批量插入数据 1.需求描述2.实现方案2.1 循环 insert 插入2.2 insert all 插入2.3 insert union all 插入 3.分析总结 系统:Win10 JDK:1.8.0_351 IDEA:2022.3.3 1.需求描述 在一次项目中实施过程中,后台需要将地区…

给一篇word注音可不可以只要拼音不要汉字 word中如何只保留拼音不要汉字

word中如何只保留拼音不要汉字,如果你想要只保留拼音而去除汉字,可以通过一系列步骤来实现。以下是一个详细的教程,帮助你完成这个任务。 首先,确保你的电脑已经安装了“汇帮注音大师”软件。如果没有,你需要安装一下…

云计算 3月8号 (wordpress的搭建)

项目wordpress 实验目的: 熟悉yum和编译安装操作 锻炼关联性思维,便于以后做项目 nginx 编译安装 1、安装源码包 [rootlinux-server ~]# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel [rootlinux-server ~]# wget http://nginx.…

安卓7原生相机切到视频崩溃

目录 1、查看日志 2、分析日志、提取重点 3、寻找解决方法 author daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 daisy.skye_嵌入式,Linux,Qt-CSDN博客daisy.skye擅长嵌入式,Linux,Qt,等方面的知识https://blog.csdn.net/qq_40715266?typeblog 1、查看日志 由于安…

vscode setting.json 全局设置 工作区设置 位置 优先级

vscode中setting.json有两种配置权限 一、全局配置:setting.json文件位于C:\Users\Administrator\AppData\Roaming\Code\User\settings.json 二、工作区配置:setting.json文件位于工作区的.vscode\settings.json 当两种配置同时存在时,工作区…

生成对抗网络 (GAN)

生成对抗网络(Generative Adversarial Networks,GAN)是由Ian Goodfellow等人在2014年提出的一种深度学习模型。GAN由两部分组成:一个生成器(Generator)和一个判别器(Discriminator)&…

一文学会搭建 cli 脚手架工具

文章目录 设置工具命令package.json bin 字段注释:#!/usr/bin/env node设置环境变量 接收命令选项参数process 实现commander 命令行交互:inquirer下载项目模板:download-git-repo执行额外命令:自动安装依赖child_processexeca 体…

基于卷积神经网络的野外可食用植物分类系统

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 本文详细探讨了一基于深度学习的可食用植物图像识别系统。采用TensorFlow和Keras框架,利用卷积神经网络(CNN)进行模型训练和预测,并引入迁移学习模型…

Mac测试环境搭建

1 下载pycharm 下载地址:PyCharm:JetBrains 出品的用于数据科学和 Web 开发的 Python IDE 2 安装python3.6.8 下载地址:Index of /ftp/python/3.6.8/ 安装后提示错误 换一种方式:用conda 下载地址:Free Download | …

ipad协议847最新版

ipad协议其实就是模拟ipad端微信的人工操作,跟微信服务器通信。协议的关键点主要是PB协议、mmtls、07加密算法、rqt算法、aes加密、rsa加密等,只要把这些点拿下,就可以模拟官方微信的所有功能了,还可以模拟android、pc、mac端的登…

数字音频工作站(DAW)fl studio 21 for mac 21.2.3.3586中文版图文安装教程

随着音乐制作行业的不断发展,越来越多的音乐人和制作人开始使用数字音频工作站(DAW)来创作和制作音乐。其中FL Studio 21是一个备受欢迎的选择,因为它提供了强大的音乐制作工具和易于使用的界面。 然而,一直以来&…

2024 RubyMine 激活,分享几个RubyMine 激活的方案

文章目录 RubyMine 公司简介我这边使用RubyMine 的理由RubyMine 2023.3 最新变化AI Assistant 正式版对 AI 生成名称建议的支持改进了 Ruby 上下文单元测试生成 RailsRails 应用程序和引擎的自定义路径Rails 路径的自动导入对存储在默认位置之外的模型、控制器和邮件器的代码洞…

Python数据分析实验一:Python数据采集与存储

目录 一、实验目的与要求二、实验过程三、主要程序清单和运行结果1、爬取 “中国南海网” 站点上的相关信息2、爬取天气网站上的北京的历史天气信息 四、程序运行结果五、实验体会 一、实验目的与要求 1、目的: 理解抓取网页数据的一般处理过程;熟悉应用…

基于Redis自增实现全局ID生成器(详解)

本博客为个人学习笔记,学习网站与详细见:黑马程序员Redis入门到实战 P48 - P49 目录 全局ID生成器介绍 基于Redis自增实现全局ID 实现代码 全局ID生成器介绍 背景介绍 当用户在抢购商品时,就会生成订单并保存到数据库的某一张表中&#…

day12_SpringCloud(Gateway,Nacos配置中心,Sentinel组件)

文章目录 1 Gateway组件1.1 Gateway简介1.2 Gateway入门1.3 网关路由流程图1.4 路由工厂1.5 过滤器1.5.1 过滤器简介1.5.2 内置过滤器1.5.3 路由过滤器1.5.4 默认过滤器1.5.5 全局过滤器1.5.6 过滤器执行顺序 2 Nacos配置中心2.1 统一配置管理2.2 Nacos入门2.2.1 Nacos中添加配…