欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python3 《零基础小白从入门到实战》之“字典”

程序员文章站 2022-03-08 08:02:07
字典是 Python 中非常重要的数据类型,字典是无序、可变的,是以"键:值"的形式创建(定义)和存储的数据集合,在字典中,是以,"键"的形式来获取值的,而不是通过下标的形式。...

 字典(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