Python-如何使用點(diǎn)“?!?訪問字典成員?
你可以使用我剛剛制作的此類來(lái)做。通過此類,你可以Map像其他字典(包括json序列化)一樣使用該對(duì)象,也可以使用點(diǎn)符號(hào)。希望對(duì)你有所幫助:
class Map(dict): ''' Example: m = Map({’first_name’: ’Eduardo’}, last_name=’Pool’, age=24, sports=[’Soccer’]) ''' def __init__(self, *args, **kwargs):super(Map, self).__init__(*args, **kwargs)for arg in args: if isinstance(arg, dict):for k, v in arg.iteritems(): self[k] = vif kwargs: for k, v in kwargs.iteritems():self[k] = v def __getattr__(self, attr):return self.get(attr) def __setattr__(self, key, value):self.__setitem__(key, value) def __setitem__(self, key, value):super(Map, self).__setitem__(key, value)self.__dict__.update({key: value}) def __delattr__(self, item):self.__delitem__(item) def __delitem__(self, key):super(Map, self).__delitem__(key)del self.__dict__[key]
用法示例:
m = Map({’first_name’: ’Eduardo’}, last_name=’Pool’, age=24, sports=[’Soccer’])# Add new keym.new_key = ’Hello World!’# Orm[’new_key’] = ’Hello World!’print m.new_keyprint m[’new_key’]# Update valuesm.new_key = ’Yay!’# Orm[’new_key’] = ’Yay!’# Delete keydel m.new_key# Ordel m[’new_key’]
我一直將其保存在util文件中。你也可以在自己的類中將其用作混合。
class dotdict(dict): '''dot.notation access to dictionary attributes''' __getattr__ = dict.get __setattr__ = dict.__setitem__ __delattr__ = dict.__delitem__mydict = {’val’:’it works’}nested_dict = {’val’:’nested works too’}mydict = dotdict(mydict)mydict.val# ’it works’mydict.nested = dotdict(nested_dict)mydict.nested.val# ’nested works too’解決方法
如何通過點(diǎn)“?!痹L問Python詞典成員?
例如,mydict[’val’]我想寫而不是寫mydict.val。
我也想以這種方式訪問??嵌套的字典。例如
mydict.mydict2.val
將指
mydict = { ’mydict2’: { ’val’: ... } }
相關(guān)文章:
1. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))2. Python 實(shí)現(xiàn)勞拉游戲的實(shí)例代碼(四連環(huán)、重力四子棋)3. 一款功能強(qiáng)大的markdown編輯器tui.editor使用示例詳解4. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法5. .Net加密神器Eazfuscator.NET?2023.2?最新版使用教程6. 利用CSS制作3D動(dòng)畫7. Python xlrd/xlwt 創(chuàng)建excel文件及常用操作8. java獲取文件編碼,jsoup獲取html純文本操作9. python 寫函數(shù)在一定條件下需要調(diào)用自身時(shí)的寫法說(shuō)明10. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼
