字典(dict)的介绍

字典是 Python 中非常重要的数据类型,字典是无序、可变的,是以“键:值”的形式创建(定义)
和存储的数据集合,在字典中,是以,”键”的形式来获取值的,而不是通过下标的形式。

字典是以{}花括号括起来的数据集合,不同数据间以逗号分隔,每个数据以”键:值”的形
式存储。

字典公式: {key:value, key1:value1, key2:value2}

注意:

1)字典中,”key”不能重复,”value”可以重复;

2)字典中,”key”必须为不可变数据,不能为可变数据;

3)字典中,如果要查找某个值,是通过”key”来进行的,相当于索引;

 

例如:

正面案例

movies = {"favor": "画皮",
          "first_with_gf": "蜡笔小新",
          "second_with_gf": "上海堡垒",
          "hate": "你的名字",
          "cried": "心花怒放",
          1: "大话西游",
          ("love", ):"法拉利",
         }

print(movies["favor"])    # 获取最喜欢的电影(key值为字符串)
print(movies[("love",)])  # 获取最喜欢的车(key值为元祖)
print(movies[1])          # 获取key值为1(key值为数字)


以上实例输出结果:

画皮
法拉利
大话西游

# 因为key值要求只能是不可变数据,而元祖、字符串、数字都满足,所以不会报错 

反面案例

1)key值为字典时

movies = {
  {"love":"you"}:"jinyan"}


print(movies[{"love":"you"}])  

以上实例输出结果:

Traceback (most recent call last):
  File "E:/untitled/test.py", line 1, in <module>
    movies = {
  {"love":"you"}:"jinyan"}
TypeError: unhashable type: 'dict'

2)key值为列表时

movies = {["love"]:"jinyan"}


print(movies[{"love":"you"}])

以上实例输出结果:

Traceback (most recent call last):
  File "E:/untitled/test.py", line 1, in <module>
    movies = {["love"]:"jinyan"}
TypeError: unhashable type: 'list'

2)key值为集合时

movies = {
  {"love"}:"jinyan"}


print(movies[{"love":"you"}])

以上实例输出结果:

Traceback (most recent call last):
  File "E:/untitled/test.py", line 1, in <module>
    movies = {
  {"love"}:"jinyan"}
TypeError: unhashable type: 'set'

# 因为key值要求只能是不可变数据,而字典、列表、集合都是可变数据,所以都不满足,那么就会报错喽~会报TypeError: unhashable type的错(不可哈希

 字典的操作

字典的操作是根据key-value : 键值对进行的

 

1)添加元素

例如:

movies = {"favor": "画皮"}

movies["new_key"]="大话西游"

print(movies)

以上实例输出结果:

{'favor': '画皮', 'new_key': '大话西游'}

 2)删除—pop()

 

 例如:


movies = {"favor": "画皮"}

movies.pop("favor")

print(movies)

以上实例输出结果:

{}

3) 修改, 已经存在的 key

# 修改和添加的语法是一样的

# 之前没有这个 key , 添加, 有了,就是修改


movies = {"favor": "画皮"}

movies["favor"] = "小花"

print(movies)

以上实例输出结果:

{'favor': '小花'}

4)返回字典中所有的”键” —keys()

例如:


movies = {"favor": "画皮"}



print(movies.keys())

 以上实例输出结果:

dict_keys(['favor'])

5)返回字典中所有的”值” —values()

例如:


movies = {"favor": "画皮"}



print(movies.values())

 以上实例输出结果:

dict_values(['画皮'])

 6)以”键:值”的形式返回字典中的元素—items()

 例如:


movies = {"favor": "画皮"}



print(movies.items())

 以上实例输出结果: 

dict_items([('favor', '画皮')])

7) 将一个字典中的数据,更新到另外一个字典中 —update()

例如:

movies1 ={'a':10,'b':20,'c':30}
movies2 ={'c':50,'d':60,'e':70}
movies1.update(movies2)
print(movies1)

 以上实例输出结果: 

{'a': 10, 'b': 20, 'c': 50, 'd': 60, 'e': 70}

8)清空字典—clear()

例如:

movies = {'a':100,'b':200,'c':300}
movies.clear()
print(movies)

 以上实例输出结果:  

{}

9)获取并返回字典中某个键对应的值—get(key)

例如:

movies={'id':101,'name':'lucy','age':22}
va1 = movies.get('name')
print(va1)

 以上实例输出结果:  

lucy

10)复制字典—copy()

例如:

movies1 = {'a':100,'b':200,'c':300}
print('movies1=',movies1)
movies2 = movies1.copy()
print('movies2=',movies2)

 以上实例输出结果:

movies1= {'a': 100, 'b': 200, 'c': 300}
movies2= {'a': 100, 'b': 200, 'c': 300}

 

本文地址:https://blog.csdn.net/weixin_48580001/article/details/110871946