字典
python 中, 字典还是一些列的键 - 值对. 每个键都与一个值相关联. 键是不可变类型也不能重复, 值可以是任意类型, 可以将任何 python 对象用作字典中的值.
键值之间用冒号隔开, 键值对之间用逗号隔开. 在字典中你存储多少个键值对都可以
- sample:
- dict_sample = {
- "name": "甲壳虫~~~", "age": "18"
- }
创建字典
赋值创建, 函数创建
创建空字典
person1_info = {}
创建简单单值字典
person2_info = {"name": "甲壳虫", "age": "18"}
创建 多个键值对
- person2_info = {"name": "甲壳虫",
- "age": 18,
- "sex": "男",
- "garde": "七年级",
- "addr":["中国","江苏省", "南京市"],
- ""friends": {"name1": "Jack", "name2": "Merry"}
- }
dict 函数
- print(dict([()]))
- """
- | dict() -> new empty dictionary
- | dict(mapping) -> new dictionary initialized from a mapping object's
- | (key, value) pairs
- | dict(iterable) -> new dictionary initialized as if via:
- | d = {}
- | for k, v in iterable:
- | d[k] = v
- | dict(**kwargs) -> new dictionary initialized with the name=value pairs
- | in the keyword argument list. For example: dict(one=1, two=2)
- 下面还有很多... 仅仅截取这些
- """
创建空字典
print(dict()) #{}
创建多个键值对
- #(iterable, 可迭代对象)
- cattle = [("name", "甲壳虫~~~"), ("age", 18), ("sex", "男")]
- print(dict(cattle))#{
- 'name': '甲壳虫~~~', 'age': 18, 'sex': '男'
- }
- peach = [["name", "桃子"], ["age", 16], ["sex", "女"]]
- print(dict(peach))#{
- 'name': '桃子', 'age': 16, 'sex': '女'
- }
指定关键字创建字典
- baby = dict(name="Little Baby", sex="男")
- print(baby, '~~~', type(baby))#{'name': 'Little Baby', 'sex': '男'} ~~~ <class 'dict'>
- zip()
- zip_data = zip(("name", "age", "sex"), ("peach", 16, "girl"))
- print(dict(zip_data))#{'name': 'peach', 'age': 16, 'sex': 'girl'}
使用字典
字典是键值对形式存在字典中. 键和值是一种映射关系.
获取字典中的, 值, 键和值;
通过 key 查询 value, 如果键不存在怎抛出异常
- dic = {
- "name": "甲壳虫", "age": 18
- }
- print(dic['name'])# 甲壳虫
- print(dic["sex"])#KeyError: 'sex'
添加键值对
- dic = {
- "name": "甲壳虫", "age": 18
- }
- dic['sex'] = '男'
- print(dic)#{
- 'name': '甲壳虫', 'age': 18, 'sex': '男'
- }
删除键值对
- dic = {
- "name": "甲壳虫", "age": 18
- }
- dic['sex'] = '男'
- del dic["age"]
- print(dic)#{
- 'name': '甲壳虫', 'sex': '男'
- }
修改键值对
- dic = {
- "name": "甲壳虫", "age": 18
- }
- dic['sex'] = '女'
- print(dic)#{
- 'name': '甲壳虫', 'age': 18, 'sex': '女'
- }
判断字典中是否有对应的键
- dic = {
- "name": "甲壳虫", "age": 18
- }
- key_in = "name" in dic
- print(key_in)#True
- key_not_in = 'sex' in dic
- print(key_not_in)#False
判断字典中是否有对应的值
- dic = {
- "name": "甲壳虫", "age": 18
- }
- value_in = "甲壳虫" in dic["name"]
- print(value_in)
其实还是根据键, 获取到对应的值, 然后在去测试是否在字典中 (in , not in )
字典的方法 --> 字典也是一个类
clear() 方法
- dic = {
- "name": "甲壳虫", "age": 18
- }
- """D.clear() -> None. Remove all items from D."""
- a = dic.clear()
- print(a)#None
get() 方法
- dic = {"name": "甲壳虫", "age": 18}
- """Return the value for key if key is in the dictionary, else default.None"""
- print(dic.get("name", "这个默认值是否返回"))# 甲壳虫
- print(dic.get("sex", "键不在字典中, 这里返回了此处设置的默认值"))# 键不在字典中, 这里返回了此处设置的默认值
- update()
- dic = {"name": "甲壳虫", "age": 18}
- """ D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
- If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
- If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
- In either case, this is followed by: for k in F: D[k] = F[k]"""dic.update({"name":"peach"})# 键存在 更新键所对应的值
- print(dic)#{'name': 'peach', 'age': 18}
- dic.update({"friend": "peach"})# 不键存在 , 添加新的键值对
- print(dic)#{'name': 'peach', 'age': 18, 'friend': 'peach'}
- setdefault
- dic = {"name": "甲壳虫", "age": 18}
- """ Insert key with a value of default if key is not in the dictionary.
- Return the value for key if key is in the dictionary, else default.
- None"""""" 如果键不在字典中, 向字典中添加对应的键值对; 并返回默认值
- 如果键在字典中, 直接返回默认的值
- """ print(dic.setdefault("age", None))# 键在字典中, 返回键所对应的值
- print(dic)#{'name': '甲壳虫', 'age': 18}
- print(dic.setdefault("friend", "键不在字典中"))# 键不在字典中, 返回设置的值: 键不在字典中
- print(dic)# 字典中添加了新的键值对 {'name': '甲壳虫', 'age': 18, 'friend': '键不在字典中'}
- pop()
- dic = {"name": "甲壳虫", "age": 18}
- """ D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
- If key is not found, default is returned if given, otherwise KeyError is raised
- None"""print(dic.pop("name"))# 甲壳虫
- print(dic)#{'age': 18}
- popeitem()
- dic = {"name": "甲壳虫", "age": 18}
- """ D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
- If key is not found, default is returned if given, otherwise KeyError is raised
- None"""print(dic.popitem())#('age', 18)
- print(dic)#{'name': '甲壳虫'}
- fromkeys()
- """fromkeys(iterable, value=None, /) method of builtins.type instance
- Create a new dictionary with keys from iterable and values set to value.
- None"""lst = ["name-1","name-2"]
- dict_tester = dict(dict.fromkeys(lst))
- print(dict_tester)#{'name-1': None, 'name-2': None}
- tup = ("name-1", "name-2")
- print(dict.fromkeys(tup))#{'name-1': None, 'name-2': None}
- print(dict.fromkeys(["name-1", "name-2", "姓名"]))#{'name-1': None, 'name-2': None, '姓名': None}
- keys(),values(),item()
来源: http://www.bubuko.com/infodetail-3818216.html