程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> 淺析被遺忘的SQLServer比擬運算符潤飾詞

淺析被遺忘的SQLServer比擬運算符潤飾詞

編輯:MSSQL

淺析被遺忘的SQLServer比擬運算符潤飾詞。本站提示廣大學習愛好者:(淺析被遺忘的SQLServer比擬運算符潤飾詞)文章只能為提供參考,不一定能成為您想要的結果。以下是淺析被遺忘的SQLServer比擬運算符潤飾詞正文


應用 Python 內建的defaultdict 辦法可以輕松界說一個樹的數據構造。

簡略的說樹也能夠是一個字典數據構造
 

def tree(): return defaultdict(tree)

這就是全體,就一行代碼。

假如你持續上面的代碼,須要先引入
 

from collections import defaultdict

實例

JSON-esque

如今我們創立一個 JSON-esque 嵌套字典無需顯式的創立子字典:
 

users = tree()
users['harold']['username'] = 'hrldcpr'
users['handler']['username'] = 'matthandlersux'

然後可經由過程 <code>print(json.dumps(users))</code> 來打印 JSON 數據,成果以下:
 

{"harold": {"username": "hrldcpr"}, "handler": {"username": "matthandlersux"}}

無需賦值

我們不須要經由過程賦值便可以創立構造:
 

taxonomy = tree()
taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Felidae']['Felis']['cat']
taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Felidae']['Panthera']['lion']
taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Canidae']['Canis']['dog']
taxonomy['Animalia']['Chordata']['Mammalia']['Carnivora']['Canidae']['Canis']['coyote']
taxonomy['Plantae']['Solanales']['Solanaceae']['Solanum']['tomato']
taxonomy['Plantae']['Solanales']['Solanaceae']['Solanum']['potato']
taxonomy['Plantae']['Solanales']['Convolvulaceae']['Ipomoea']['sweet potato']

要打印有好的信息,須要轉成尺度的字典對象:
 

def dicts(t): return {k: dicts(t[k]) for k in t}

如今可經由過程 pprint(dicts(taxonomy)) 停止打印了:
 

{'Animalia': {'Chordata': {'Mammalia': {'Carnivora': {'Canidae': {'Canis': {'coyote': {},
                                      'dog': {}}},
                           'Felidae': {'Felis': {'cat': {}},
                                 'Panthera': {'lion': {}}}}}}},
 'Plantae': {'Solanales': {'Convolvulaceae': {'Ipomoea': {'sweet potato': {}}},
              'Solanaceae': {'Solanum': {'potato': {},
                           'tomato': {}}}}}}

子構造也被看成是字典對象了,而葉子節點是一個空的字典對象

迭代

可使用風趣的辦法對樹停止迭代。

例如我們解析一個植物的列表並添加到之前界說的 taxonomy 中,我們可使用以下代碼:
 

add(taxonomy,
  'Animalia,Chordata,Mammalia,Cetacea,Balaenopteridae,Balaenoptera,blue whale'.split(','))

簡化完成:
 

def add(t, keys):
 for key in keys:
  t = t[key]

我們依然無需賦值:
 

{'Animalia': {'Chordata': {'Mammalia': {'Carnivora': {'Canidae': {'Canis': {'coyote': {},
                                      'dog': {}}},
                           'Felidae': {'Felis': {'cat': {}},
                                 'Panthera': {'lion': {}}}},
                    'Cetacea': {'Balaenopteridae': {'Balaenoptera': {'blue whale': {}}}}}}},
 'Plantae': {'Solanales': {'Convolvulaceae': {'Ipomoea': {'sweet potato': {}}},
              'Solanaceae': {'Solanum': {'potato': {},
                           'tomato': {}}}}}}

結論

下面說起的這些能夠用途不年夜,只是做了一些成心思的代碼。

假如你愛好 Python 的話,把這個當做是樂趣來懂得。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved