# -*- coding: utf-8 -*-
class SuperTupl(tuple):
def to_lis(self):
return list(self)
def to_dic(self, set_key=0):
a = {str(val[set_key]): val for val in self}
return SuperDic(**a)
class SuperDic(dict):
def clean(self, key):
"""
d = SuperDic(a=1,b=2,c=3)
print(d.clean('a').clean('b'))
:param key: the key will be deleted
:return: dict without the key
"""
self.pop(key)
return self
def remove_item(self, item):
"""
d = SuperDic(a=1,b=2,c=3)
print(d.remove_item({'a':1,'b':2}))
:param key: the key will be deleted
:return: dict without the key
"""
if isinstance(item, dict):
for k, v in item.items():
if self[k] == v:
self.pop(k)
return self
def to_tuple(self):
return SuperTupl((k, v) for k, v in self.items())
def __repr__(self):
if isinstance(self, dict):
_d = ''
for k, v in self.items():
_d += '\'' + str(k) + '\'' + ':' + str(v) + ', '
return '{' + _d.rstrip(', ') + '}'
elif isinstance(self, tuple):
_t = ''
for t in self:
_t += '('+str(t)+')'
return '('+_t+')'
Python霧裏看花-鏈式調用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.