python 不區分大小寫的字典實現

2021-10-05 07:21:01 字數 1390 閱讀 6401

除了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類,它包含乙個對大小寫不敏感的 ...