Python嵌套方法怎么使用

本篇內(nèi)容主要講解“Python嵌套方法怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python嵌套方法怎么使用”吧!

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)宣漢,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

題目:

給出一個字符串,其中只包含括號(大中小括號 “()[]{}” ),括號可以任意嵌套。如果同樣的左右括號成對出現(xiàn)并且嵌套正確,那么認(rèn)為它是匹配的。例如:

1、()  ->  TRUE  (匹配)

2、[()]  ->  TRUE  (匹配,括號可以嵌套)

3、()()   ->  TRUE     (匹配,括號可以并列排列)

4、({}([]))  ->  TRUE   (匹配,括號可以任意嵌套,大括號不必在外)

5、)   ->  FALSE    (不匹配,缺少左括號)

6、(}   ->  FALSE     (不匹配,左右括號不一樣)

7、{)(}   ->  FALSE     (不匹配,左右括號相反)

思路分析
  • 由于嵌套是隨意的,因此不能像剝洋蔥一樣從最外層剝

  • 不管如何嵌套,總會有至少一對括號里面是不嵌套任何字符串的

  • 遇到一個 ( 時,不可能去找與它對應(yīng)的  ) ,因為 ) 很可能有多個,哪個是與之對應(yīng)的呢,這個思路非常麻煩

有一種名為“棧”的數(shù)據(jù)結(jié)構(gòu),它的特點是先進(jìn)后出,而list就可以偽裝成一個棧,利用先進(jìn)后出的特性,將左右兩個括號抵消掉,文字已經(jīng)不能解釋清楚了,還是上代碼吧

示例代碼

#coding=utf-8
str_value = '({}([]))'
lst = list(str_value)
lst_compare = []
b_format = True
for item in lst:
   if item == '(' or item == '{' or item == '[':
       lst_compare.append(item)

   if len(lst_compare) == 0:
       b_format = False
       break

   if item == ')':
       if lst_compare[-1] == '(':
           lst_compare.pop()
       else:
           b_format = False

   if item == ']':
       if lst_compare[-1] == '[':
           lst_compare.pop()
       else:
           b_format = False

   if item == '}':
       if lst_compare[-1] == '{':
           lst_compare.pop()
       else:
           b_format = False

if not len(lst_compare) == 0:
       b_format = False

if b_format:
   print u'格式正確'
else:
   print u'格式錯誤'

代碼解析
  • 首先要明白第二行所使用的lis方法的作用,它將字符串轉(zhuǎn)成一個list

  • 對lst進(jìn)行遍歷,將遍歷得到的各種左括號放入st_compare 中

  • 在對lst進(jìn)行遍歷過程中,如果遇到一種右括號,則和st_compare中末尾的元素比較,判斷他們是不是一對,如果是一對,則是用pop方法把st_compare末尾的元素彈出來,如果不是,就說明括號不是成對出現(xiàn)的

  • 如果最終st_compare的長度不為0,就說明有一些左括號是沒有被抵消掉的,格式必然不正確

到此,相信大家對“Python嵌套方法怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁標(biāo)題:Python嵌套方法怎么使用
文章來源:http://muchs.cn/article34/jephpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站制作網(wǎng)站營銷、標(biāo)簽優(yōu)化網(wǎng)站設(shè)計、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作