91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python嵌套方法怎么使用

發布時間:2021-12-18 14:37:32 來源:億速云 閱讀:194 作者:iii 欄目:大數據

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

題目:

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

1、()  ->  TRUE  (匹配)

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

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

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

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

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

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


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

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

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


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


示例代碼

#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方法的作用,它將字符串轉成一個list

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

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

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

到此,相信大家對“Python嵌套方法怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎赉特旗| 通州区| 兴仁县| 徐闻县| 定兴县| 抚松县| 南阳市| 丘北县| 南雄市| 南澳县| 土默特左旗| 东乡县| 龙海市| 桃园市| 常德市| 垣曲县| 兴义市| 高雄市| 宿松县| 鹰潭市| 个旧市| 册亨县| 高雄县| 保德县| 澄江县| 乌鲁木齐市| 五大连池市| 江西省| 诸城市| 遵义县| 宁明县| 宣城市| 陈巴尔虎旗| 页游| 伊通| 大邑县| 寿宁县| 新乐市| 兴文县| 垦利县| 元朗区|