06-数据类型的常用操作-字典常用操作

序号函数及描述
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值
dict.items()把字典转换成二级对等容器,以列表格式返回。
dict.keys()返回一个由字典的键组成的伪列表对象
dict.values()返回一个由字典的值组成的伪列表对象
dict.setdefault(key, None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)把字典dict2的键/值对更新到dict里
dict.pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
dict.popitem()返回并删除字典中的最后一对键和值。

 

 字典的基本操作:

# 空字典
data1 = {}
print(data1, type(data1))  # {} <class 'dict'>

# 有成员的字典
data2 = {"name": "小名", "age": 18}
print(data2, type(data2))  # {'name': '小名', 'age': 18} <class 'dict'>
# 获取字典成员的值
data = {"name": "李可", "age": 18}
print(data["name"])  # 李可
# 新增/修改一个成员
data = {"age": 12}
data["name"] = "小红"
print(data)  # {'age': 12, 'name': '小红'}
data["age"] = 18
print(data)  # {'age': 18, 'name': '小红'}
# 删除一个成员
data = {'age': 18, 'name': '小红'}
del data["age"]
print(data)  # {'name': '小红'}
# 统计字典成员数量
data = {'age': 18, 'name': '小红'}
print(len(data))  # 2

字典提供的常用操作:
"""
字典.clear()    清空字典
del 字典        删除字典
"""
data = {'age': 18, 'name': '小红'}
data.clear()
print(data)  # {}  空字典

data = {'age': 18, 'name': '小红'}
del data
print(data)  # NameError: name 'data' is not defined
"""字典.fromkeys(序列)  根据已有序列创建一个字典"""
list_data = ["a", "b"]
data = {}
new_data = data.fromkeys(list_data, "A")
print(new_data)  # {'a': 'A', 'b': 'A'}
"""
根据指定键获取字典中的成员的值,如果键不存在,则返回None,也可以指定默认值
字典.get("键", default=None)
字典[键]
"""

# 使用中括号获取指定键对应的值,如果键不存在,会报错
data = {'age': 18, 'name': '小红'}
print(data["price"])  # KeyError: 'price'

# 使用get不会报错
data = {'age': 18, 'name': '小红'}
print(data.get("age"))  # 18
print(data.get("money"))  # None,不存在的键则返回None
print(data.get("money", 0.0))  # 0.0,当键不存在时,可以设置默认值
"""二级对等容器转换字典"""
data = [("name", "xiaoming"), ("age", 17), ]
dict_data = dict(data)
print(dict_data)  # {'name': 'xiaoming', 'age': 17}
"""字典转二级对等容器"""
data = {'name': 'xiaoming', 'age': 17}
print(data.items())  # dict_items([('name', 'xiaoming'), ('age', 17)])
print(list(data.items()))  # [('name', 'xiaoming'), ('age', 17)]

# items最大的作用就是让for循环遍历字典,得到每一个成员的键值对
data = {'name': 'xiaoming', 'age': 17}
for key, value in data.items():
    print(f"key={key}, value={value}")

# key=name, value=xiaoming
# key=age, value=17
"""如果在循环中,希望对于列表/元组/字符串,也想要类似字典这样,不仅要返回值,还要返回下标,可以使用"""
data = ["A", "B", "C", "D", "E"]
# data = ("A", "B", "C", "D", "E")
# data = "ABCDECV"
for index, item in enumerate(data):  # enumerate可以让循环提取列表/元组/字符串的下标和值
    print(f"index={index}, item={item}")

# index=0, item=A
# index=1, item=B
# index=2, item=C
# index=3, item=D
# index=4, item=E
"""
字典.keys()    # 返回一个由字典的键组成的伪列表对象
字典.values() # 返回一个由字典的值组成的伪列表对象
"""
data = {'name': 'xiaoming', 'age': 17}
print(data.keys())    # dict_keys(['name', 'age'])
print(data.values())  # dict_values(['xiaoming', 17])
"""
字典.setdefault(key, defaultValue)   # 设置键的默认值,如果键存在,则没有任何效果,只有键不存在时,则把当前键和默认值作为键值对添加到字典中
字典1.update(字典2)                   # 更新键对应的只,常用于合并字典
"""
data = {'name': 'xiaoming', 'age': 17}
data.setdefault("money", 0.0)  # 第二个参数选项则是当键不存在时设置的默认值,如果不设置,则默认为None
print(data)  # {'name': 'xiaoming', 'age': 17, 'money': 0.0}

local_data = {"PASSWORD": "123", "URL": "127.0.0.1", "ENV": "dev"}
data = {"SYSTEM": "Linux", "PASSWORD": "fkdkjgm343m24324m2390fdvsf", "URL": "www.fuguang.com"}
# 不存在的键会新增,存在的键以传递进去的字典为主
data.update(local_data)
print(data)  # {'SYSTEM': 'Linux', 'PASSWORD': '123', 'URL': '127.0.0.1', 'ENV': 'dev'}
"""
字典.pop(键)     删除指定键对应的成员
字典.popitem()   删除字典中最后一个成员
"""
data = {'name': 'xiaoming', 'age': 17}
name = data.pop("name")
print(data)  # {'age': 17}
print(name)  # xiaoming    被删除的键对应的值

data = {'name': 'xiaoming', 'age': 17}
data.popitem()
print(data)  # {'name': 'xiaoming'}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值