1分钟快速带你了解python中dict字典基本内容

文章目录

目录

1.创建字典

1.1使用{}创建字典

2.访问字典

2.1key访问

2.2for循环访问

2.3更改字典值

3.内置函数

3.1转换为字典

4.内置方法

4.1  清除   clear()   

4.2 输出值    get()

4.3 输出项  items()

4.4 输出键  keys()

4.5 输出值  values ()

4.6 移除  pop()   popitem()

4.7 添加元素    setdefault()

4.8 更新    update()

4.9 拷贝   copy()

1.创建字典

dict:字典: dictionary, 字典中的元素是key:value的形式, 使用{} 创建。

1.1使用{} 创建字典,并打印出字典。

dict_data = {1: [2, 3], 2: 4, 4: 7}     #创建字典
print(dict_data)                        #打印字典内容




{1: [2, 3], 2: 4, 4: 7}                 #输出字典内容

2.访问字典

2.1key访问

通过打印字典中key输出值

dict_data = {1: [2, 3], 2: 4, 4: 7}        #创建字典
print(dict_data[1])                        #打印字典中key=1的值




[2, 3]                                     #输出 key=1 对应的值

2.2for循环访问

(1)获取key

dict_data = {"9": 9.9, "3": 3.3, "5": 5.5}     #创建字典
for i in dict_data:                            #使用for循环打印字典的key
    print(i) 




9                                              #输出字典中的key
3
5

(2)获取value

dict_data = {"9": 9.9, "3": 3.3, "5": 5.5}   #创建字典
for i in dict_data.values():                 #使用for循环打印字典的值
    print(i)
 

9.9                                          #输出字典中的值
3.3
5.5

(3)获取(key,value)

dict_data = {"9": 9.9, "3": 3.3, "5": 5.5}  #创建子弹
for i in dict_data.items():                 #使用for循环打印字典中的项
    print(i)



('9', 9.9)                                  #输出字典中的项
('3', 3.3)
('5', 5.5)

(4)获取 key   value

dict_data = {"9": 9.9, "3": 3.3, "5": 5.5}   #创建字典
for key, value in dict_data.items():         #使用for循环打印字典项中的key和value
    print(key, value)



9 9.9                                        #输出字典中的key和value
3 3.3
5 5.5

2.3更改字典值

语法为 dict_data[key] = value

dict_data = {1: [2, 3], 2: 4, 4: 7}   #创建字典
dict_data[1] = '21'                   #更改字典key=1的值为'21'
print(dict_data)                      #打印字典




{1: '21', 2: 4, 4: 7}                 #输出字典内容

3.内置函数

3.1转换为字典

语法为 dict()

dict_data = dict([(1, 2), ("4", 8), ['6', 12]])   #将列表转换为字典
print(dict_data)                                  #打印字典





{1: 2, '4': 8, '6': 12}                           #输出字典

4.内置方法

4.1清除  clear

Remove all items from D.

 删除D中的所有项目

默认为清除字典中全部的内容

dict_data = {1: 2, 2: 3, 3: 4}      #创建字典
dict_data.clear()                   #使用clear方法清除字典
print(dict_data)                    #打印字典


{}                                  #输出字典

4.2 输出值    get(self , key, default=None, /

self:自己(一般不赋值)

key:键  一般需要赋值

default = None : 默认为None 不用给特定值

Return the value for key if key is in the dictionary, else default.

 如果关键字在字典中,则返回关键字的值,否则为默认值(默认值一般为None)

dict_data = {1: 2, 2: 3, 3: 4}   #创建字典
print(dict_data.get(3))          #打印字典中key=3的值
print(dict_data.get(4))          #打印字典中key=4的值


4                                #输出字典中key=3的值
None                             #输出字典中key=4的值

4.3  输出项  items()

项: 即(key,value)

dict_data = {1: 2, 2: 3, 3: 4}                     #创建字典
print(dict_data.items(), type(dict_data.items()))  #打印字典中的项及类型


dict_items([(1, 2), (2, 3), (3, 4)]) <class 'dict_items'>  #输出项及类型

4.4输出键  keys()

keys:即字典中的所有键key

dict_data = {1: 2, 2: 3, 3: 4}    #创建字典
print(dict_data.keys())           #打印字典中所有的键key   


dict_keys([1, 2, 3])              #输出字典中所有的键key

4.5输出值  values ()

values:即字典中所有的值value

dict_data = {1: 5, 2: 3, 3: 4}                       #创建字典
print(dict_data.values(), type(dict_data.values()))  #打印字典中的所有值及类型


dict_values([5, 3, 4]) <class 'dict_values'>         #输出字典中的所有值及类型

4.6移除  pop()   popitem()

pop:

remove specified key and return the corresponding value.

 移除指定的键并返回相应的值

 If the key is not found, return the default if given; otherwise,  raise a KeyError.

 如果找不到密钥,则返回默认值(即报错)

dict_data = {1: 2, 2: 3, 3: 4}        #创建字典
print(dict_data.pop(2))               #打印字典中key=2的项的值并移除该项 
print(dict_data)                      #打印现字典



3                                     #输出字典中key=2 的值                            
{1: 2, 3: 4}                          #输出字典

popitem:

Remove and return a (key, value) pair as a 2-tuple.

 移除(键,值)对并将其作为2元组返回

 Pairs are returned in LIFO (last-in, first-out) order.

对按后进先出(后进先出)顺序返回。

 Raises KeyError if the dict is empty.

如果dict为空, 则引发 KeyError

dict_data = {1: 2, 2: 3, 3: 4}    #创建字典
print(dict_data.popitem())        #打印字典的最后一项并在字典中移除该项(默认移除后进先出的项)
print(dict_data)                  #打印此刻字典    
print(dict_data.popitem())        #打印此刻字典的最后一项并在字典中移除该项
print(dict_data)                  #打印此刻字典
print(dict_data.popitem())        #打印此刻字典的最后一项并在字典中移除该项
print(dict_data)                  #打印最后的字典


(3, 4)                            #输出第一次移除的项
{1: 2, 2: 3}                      #输出字典
(2, 3)                            #输出第二次移除的项
{1: 2}                            #输出字典
(1, 2)                            #输出最后一次移除的项
{}                                #输出字典

4.7添加元素    setdefault()

Insert key with a value of default if key is not in the dictionary.

如果关键字不在字典中, 则插入具有默认值的关键字(默认为None)。

 Return the value for key if key is in the dictionary, else default.

如果关键字在字典中,则返回关键字的值, 否则为默认值。

dict_data = {1: 2, 2: 3, 3: 4}      #创建字典
print(dict_data.setdefault(4))      #打印字典中key=4的项的值,
                                    若无key=4的项则添加该项并给定默认值None
print(dict_data)                    #打印此刻字典 
print(dict_data.setdefault(2))      #打印字典中key=2的项的值
dict_data.setdefault("8", 8)        #在字典中添加一个项 "8": 8
print(dict_data)                    #打印字典


None                                #输出 字典中key=4的项的值
{1: 2, 2: 3, 3: 4, 4: None}         #输出字典
3                                   #输出  字典中key=2的项的值
{1: 2, 2: 3, 3: 4, 4: None, '8': 8} #输出字典

4.8更新    update()

update: 即将字典2的内容融入字典1中并更新字典1中key与字典中key相同的项的值

dict_data1 = {1: 2, 2: 3, 3: 4}     #创建字典1
dict_data2 = {1: 3, 3: 9, "8": 8}   #创建字典2
dict_data1.update(dict_data2)       #将字典2的内容融入字典1
                                     并更新字典1中key与字典2中key相同的项的值
print(dict_data1)                   #打印字典1




{1: 3, 2: 3, 3: 9, '8': 8}          #输出字典1
 

4.9拷贝   copy()

(1)浅拷贝:

即 拷贝了一个独立的父对象,子对象与原字典的子对象指向同一对象。

dict_data = {1: [2, 3, 4]}     #创建字典
new_dict = dict_data.copy()    #浅拷贝字典
print(dict_data, new_dict)     #打印原字典和浅拷贝字典
dict_data[1].append(5)         #在原字典中追加一个元素1:[5]
print(dict_data, new_dict)     #打印原字典和浅拷贝字典




{1: [2, 3, 4]} {1: [2, 3, 4]}        #输出原字典和浅拷贝字典
{1: [2, 3, 4, 5]} {1: [2, 3, 4, 5]}  #输出追加后的原字典和浅拷贝字典

(2)深拷贝:

即 既父对象和子对象都与原字典中的父子对象互相独立。

from copy import deepcopy         #用于浅复制导入深度复制
dict_data = {1: [2, 3, 4]}        #创建字典
deep_dict = deepcopy(dict_data)   #深拷贝字典
print(dict_data, deep_dict)       #打印字典和深拷贝字典
dict_data[1].append(5)            #原字典追加一个元素1:[5]
print(dict_data, deep_dict)       #打印字典和深拷贝字典




{1: [2, 3, 4]} {1: [2, 3, 4]}     #输出字典和深拷贝字典  
{1: [2, 3, 4, 5]} {1: [2, 3, 4]}  #输出追加后的字典和深拷贝字典

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重生的风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值