除了key為字 符串時,忽略大小寫之外與普通字典是一樣的
class
myicasedict
(dict):
""" 不區分大小寫的字典
使用兩個字典來存放資料
1個存放名稱,乙個存資料
"""def__init__
(self,
**kw)
:"__init__(self,**kw)"
self.kp =
;for k in kw.keys():
self.__setitem__(k,kw[k]);
def__contains__
(self, k)
:"__contains__(self, k)"
ifisinstance
(k,str):
kn=k.lower();
ifnot self.kp.__contains__(kn)
:return
false
; k=kn;
return
super()
.__contains__(k)
;def
__setitem__
(self,k,v)
:"__setitem__(self,k,v)"
ifisinstance
(k,str):
kn=k.lower();
self.kp[kn]
=k; k=kn;
super()
.__setitem__(k,v)
;def
__delitem__
(self,k)
:" __delitem__(self,k)"
ifisinstance
(k,str):
k=k.lower();
self.kp.pop(k)
;super
.__delitem__(k)
;def
__getitem__
(self, k)
:"__getitem__(self, k)"
ifisinstance
(k,str):
k=k.lower();
return
super()
.__getitem__(k)
;def
actual_key_case
(self, k)
:"actual_key_case(self, k) 獲取真實的key名"
ifisinstance
(k,str):
return self.kp[k.lower()]
;return k;
ASP中的區分大小寫與不區分大小寫
asp中的變數,關鍵字不區分大小寫,這誰都知道。但在有些地方又是區分大小的。在下面這種密碼驗證時就不區分大小寫,這樣就增加了asp不安全因素 select from admin where username username and password password 這時的 password 的值...
mysql linux不區分大小寫
本文 1 linux下mysql安裝完後是預設 區分表名的大小寫,不區分列名的大小寫 2 用root帳號登入後,在 etc my.cnf中的 mysqld 後新增新增lower case table names 1,重啟mysql服務,這時已設定成功 不區分表名的大小寫 lower case tab...
C IndexOf 不區分大小寫
字串的 indexof 方法是對大小寫敏感的,要想從乙個字串中查詢另外乙個字串 不區分大小寫 就不好處理了。很多人應該會說,先轉換成大寫或者小寫,再查詢,但是不確定別人會怎麼輸入,難道乙個乙個的去轉換?在globalization 命名空間下包含compareinfo類,它包含乙個對大小寫不敏感的 ...