中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

國外怎么做直播網(wǎng)站蘭州seo快速優(yōu)化報價

國外怎么做直播網(wǎng)站,蘭州seo快速優(yōu)化報價,鼓樓做網(wǎng)站,做類似淘寶一樣的網(wǎng)站1、問題背景 我們在使用 LXML 庫解析 MathML 表達(dá)式時,可能會遇到這樣一個問題:在遞歸解析過程中,我們可能會重復(fù)進(jìn)入同一個節(jié)點(diǎn),導(dǎo)致解析結(jié)果不正確。例如,我們希望將以下 MathML 表達(dá)式解析為 Python 表達(dá)式&#x…

在這里插入圖片描述

1、問題背景

我們在使用 LXML 庫解析 MathML 表達(dá)式時,可能會遇到這樣一個問題:在遞歸解析過程中,我們可能會重復(fù)進(jìn)入同一個節(jié)點(diǎn),導(dǎo)致解析結(jié)果不正確。例如,我們希望將以下 MathML 表達(dá)式解析為 Python 表達(dá)式:

<?xml version="1.0"?>
<math xmlns="http://www.w3.org/1998/Math/MathML" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/1998/Math/MathML http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd"><mrow><mfrac><mn>3</mn></mn><mn>5</mn></mn></mfrac></mrow>
</math>

如果我們使用以下代碼來解析該表達(dá)式:

def parseMML(mmlinput):from lxml import etreefrom StringIO import *from lxml import objectifyexppy=[]events = ("start", "end")context = etree.iterparse(StringIO(mmlinput),events=events)for action, elem in context:if (action=='start') and (elem.tag=='mrow'):exppy+='('if (action=='end') and (elem.tag=='mrow'):exppy+=')'if (action=='start') and (elem.tag=='mfrac'):mmlaux=etree.tostring(elem[0])exppy+=parseMML(mmlaux)exppy+='/'mmlaux=etree.tostring(elem[1])exppy+=parseMML(mmlaux)if action=='start' and elem.tag=='mn': #this is a numberexppy+=elem.textreturn (exppy)

那么我們得到的解析結(jié)果將是:

['(', '(', '3', ')', '/', '(', '5', ')', '(', '3', ')', '(', '5', ')', ')']

而不是我們期望的:

['(', '(', '3', ')', '/', '(', '5', ')', ')']

這是因?yàn)樵诮馕?mfrac 節(jié)點(diǎn)時,我們遞歸調(diào)用了 parseMML 函數(shù)兩次,分別解析了分子和分母。而在解析分子時,我們又遞歸調(diào)用了 parseMML 函數(shù),導(dǎo)致重復(fù)進(jìn)入了 mrow 節(jié)點(diǎn)。

2、解決方案

為了解決這個問題,我們可以使用一個棧來保存已經(jīng)解析過的節(jié)點(diǎn)。當(dāng)我們開始解析一個新的節(jié)點(diǎn)時,我們可以將該節(jié)點(diǎn)壓入棧中。當(dāng)我們完成解析該節(jié)點(diǎn)時,我們可以將該節(jié)點(diǎn)從棧中彈出。這樣,我們就能夠避免重復(fù)進(jìn)入同一個節(jié)點(diǎn)。

以下代碼演示了如何使用棧來避免重復(fù)進(jìn)入同一個節(jié)點(diǎn):

def parseMML(mmlinput):from lxml import etreefrom StringIO import *from lxml import objectifyexppy=[]events = ("start", "end")context = etree.iterparse(StringIO(mmlinput),events=events)nodestack=[]for action, elem in context:if action=='start' and elem.tag in nodestack:continueif (action=='start') and (elem.tag=='mrow'):nodestack.append(elem.tag)exppy+='('if (action=='end') and (elem.tag=='mrow'):nodestack.pop()exppy+=')'if (action=='start') and (elem.tag=='mfrac'):nodestack.append(elem.tag)mmlaux=etree.tostring(elem[0])exppy+=parseMML(mmlaux)exppy+='/'mmlaux=etree.tostring(elem[1])exppy+=parseMML(mmlaux)if action=='start' and elem.tag=='mn': #this is a numberexppy+=elem.textreturn (exppy)

使用該代碼,我們可以得到正確的解析結(jié)果:

['(', '(', '3', ')', '/', '(', '5', ')', ')']
http://www.risenshineclean.com/news/2983.html

相關(guān)文章:

  • 網(wǎng)站安全檢測在線武漢seo網(wǎng)站優(yōu)化
  • 北京門戶網(wǎng)站設(shè)計打開2345網(wǎng)址大全
  • 西安網(wǎng)站推廣方案建網(wǎng)站公司
  • windows7做網(wǎng)站安卓優(yōu)化大師2023
  • 網(wǎng)站如何做后臺太原seo服務(wù)
  • 用dw做網(wǎng)站時怎么添加彈窗拉新工作室在哪里接項(xiàng)目
  • 杭州做銷售去哪個網(wǎng)站好做網(wǎng)站用什么軟件
  • 沒有網(wǎng)站怎么做鏈接視頻教程5118關(guān)鍵詞工具
  • 上虞網(wǎng)站建設(shè)哪家好北京營銷推廣網(wǎng)站建設(shè)
  • wordpress網(wǎng)站亂碼關(guān)鍵詞挖掘啊愛站網(wǎng)
  • 免費(fèi)b站推廣網(wǎng)站app如何讓百度搜索排名靠前
  • 網(wǎng)站互動交流怎么做百度中心人工電話號碼
  • 互聯(lián)網(wǎng)網(wǎng)站基礎(chǔ)中國最大網(wǎng)站排名
  • wordpress adsense主題游戲優(yōu)化大師下載安裝
  • 山東網(wǎng)站建設(shè)優(yōu)化技術(shù)太原做網(wǎng)站的工作室
  • 如何用frontpage做網(wǎng)站seo快速優(yōu)化文章排名
  • 信息分類網(wǎng)站好建嗎百度輿情
  • 南京網(wǎng)站建設(shè)王道下拉強(qiáng)獨(dú)立站seo
  • 建設(shè)銀行網(wǎng)站的支付流程太原整站優(yōu)化排名外包
  • 一個網(wǎng)站的頁頭大概做多大有沒有免費(fèi)的廣告平臺
  • 曰本做爰視頻網(wǎng)站開發(fā)新客戶的十大渠道
  • 用樹莓派做網(wǎng)站服務(wù)器太原推廣團(tuán)隊(duì)
  • 龍巖政府網(wǎng)seo教程自學(xué)
  • 做網(wǎng)站需要哪些費(fèi)用支出瀏覽器網(wǎng)頁版入口
  • jsp網(wǎng)站開發(fā)四庫全書網(wǎng)絡(luò)營銷什么意思
  • 網(wǎng)站后臺圖片傳不上去怎么辦汕頭seo外包機(jī)構(gòu)
  • 如何用iis部署網(wǎng)站網(wǎng)站頁面設(shè)計模板
  • 山東網(wǎng)站建設(shè)最便宜如何讓百度能查到自己
  • 點(diǎn)擊一個網(wǎng)站跳轉(zhuǎn)到圖片怎么做的淘寶關(guān)鍵詞排名查詢工具免費(fèi)
  • 網(wǎng)站建設(shè)公司普遍存在劣勢數(shù)據(jù)分析師資格證書怎么考