CaseInsensitiveDict Class
NOTE: This implementation is heavily inspired from the case insensitive dictionary from the requests library. Thank you !! Case insensitive dictionary implementation. The keys are expected to be strings and will be stored in lower case. case_insensitive_dict = CaseInsensitiveDict() case_insensitive_dict['Key'] = 'some_value' case_insensitive_dict['key'] == 'some_value' #True
Constructor
CaseInsensitiveDict(data: Mapping[str, Any] | Iterable[Tuple[str, Any]] | None = None, **kwargs: Any)
Parameters
| Name | Description |
|---|---|
|
data
|
Initial data to store in the dictionary. Default value: None
|
Methods
| clear | |
| copy | |
| get | |
| items | |
| keys | |
| lowerkey_items | |
| pop |
If key is not found, d is returned if given, otherwise KeyError is raised. |
| popitem |
as a 2-tuple; but raise KeyError if D is empty. |
| setdefault | |
| update |
If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v |
| values |
clear
clear() -> None. Remove all items from D.
copy
copy() -> CaseInsensitiveDict
get
get(k, [d]) -> D[k] if k in D, else d. d defaults to None.
Parameters
| Name | Description |
|---|---|
|
key
Required
|
|
|
default
|
Default value: None
|
items
items() -> a set-like object providing a view on D's items
keys
keys() -> a set-like object providing a view on D's keys
lowerkey_items
lowerkey_items() -> Iterator[Tuple[str, Any]]
pop
If key is not found, d is returned if given, otherwise KeyError is raised.
pop(k, [d]) -> v, remove specified key and return the corresponding value.
Parameters
| Name | Description |
|---|---|
|
key
Required
|
|
|
default
|
|
popitem
as a 2-tuple; but raise KeyError if D is empty.
popitem() -> (k, v), remove and return some (key, value) pair
setdefault
setdefault(k, [d]) -> D.get(k,d), also set D[k]=d if k not in D
Parameters
| Name | Description |
|---|---|
|
key
Required
|
|
|
default
|
Default value: None
|
update
If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v
update([E], **F) -> None. Update D from mapping/iterable E and F.
Positional-Only Parameters
| Name | Description |
|---|---|
|
other
|
Default value: ()
|
values
values() -> an object providing a view on D's values