Python - 字典

2023-10-17 09:28:57 浏览数 (1)

1、什么是字典

     字典是无序可变的对象集合 ,字典当中的元素是通过键来存取的,而不是通过偏移存取。字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型:

  • 可以是任意不可变类型
  • 通常是字符串或数字
  • 如果一个元组只包含字符串、数字或元组,那么这个元组也可以用作键
  • 但如果元组直接或间接地包含了可变对象,那么它就不能用作键
  • 列表不能用作键

2、语法

  使用字典的字面值创建字典

    使用 {} 来表示一个字典,里面允许出现若干键值对

代码语言:javascript复制
 # 创建空字典 ,两种方法
     dict = {}
        dict()
 
 # 创建非空字典
    {"name":"hua","age":20}
    dict({"name":"hua","age":20}

3、增加键值对

代码语言:javascript复制
people = {
    "name": "华",
    "age": "20",
    "weight": "65kg"
}
people["sex"] = "男"
print(people)
 
 
# 输出结果 {'name': '华', 'age': '20', 'weight': '65kg', 'sex': '男'}

4、删除键值对

  • 通过关键字 del
  • 通过 .pop(key)

5、修改字典

        通过update()

传入的是字典
代码语言:javascript复制
# update 栗子一
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
}
 
book1 = {
"title": "Python 从入门到放弃"
}
 
# 若传入字典的键是已存在的,则更新原有的值
book.update(book1)
print(book)
 
book2 = {
"money": 119
}
# 若传入字典的键是不存在的,则添加新的键值对
book.update(book2)
print(book)
 
 
# 输出结果
{'title': 'Python 从入门到放弃', 'author': '张三', 'press': '机械工业出版社'}
{'title': 'Python 从入门到放弃', 'author': '张三', 'press': '机械工业出版社', 'money': 119}
传入的是 iterable
代码语言:javascript复制
d = {'x': 2}
d.update([('y', 2), ('z', 3)])
print(d)
 
 
# 输出结果
{'x': 2, 'y': 2, 'z': 3}

传入的是关键字参数

代码语言:javascript复制
d = {'x': 2}
 
d.update(y=3, z=0)
print(d)
 
 
# 输出结果
{'x': 2, 'y': 3, 'z': 0}

6、查询字典

两种传参
  • dict.get(key):键存在则返回对应值,不存在则返回 None
  • dict.get(key, default):键存在则返回对应值,不存在则返回设置好的 default 值
栗子
代码语言:javascript复制
# get
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
}
print(book.get("title"))
print(book.get("books"))
print(book.get("books", "默认值"))
 
 
# 输出结果
Python 入门基础
None
默认值

7、读取字典

keys()

作用

返回字典中所有的键

栗子
代码语言:javascript复制
# keys
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
}
 
for key in book.keys():
print(key)
 
 
# 输出结果title
author
press

values()

作用

返回字典中所有的值

栗子
代码语言:javascript复制
# values
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
}
 
for value in book.values():
print(value)
 
 
# 输出结果
Python 入门基础
张三
机械工业出版社

0 人点赞