Dictionary(字典)

Dictionary(字典)

前言

本章节将介绍字典的特点和常用函数。


一、什么是字典

字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割
字典的值可以是任意值。

二、字典的创建、访问、修改

1.字典的创建

创建空字典:

d={}
d=dict()

d={}
d=dict()
print(d)

两种方法都额可以创建空字典。

创建有键值对的字典。

d = {key1 : value1, key2 : value2, key3 : value3 }

d = {'a' : 1, 'b' : 2, 'c': 3 }

dict[key1]访问字典的值

d = {'a' : 1, 'b' : 2, 'c': 3 }
print(d['a'])
# 1

字典的遍历

对字典的遍历,实际上是对字典键的遍历

d = {'a' : 1, 'b' : 2, 'c': 3 }
for i in d:
# 等同于 for i in d.keys():
    print(i)
    # a
    # b
    # c

三、字典常用函数

1.dict.clear()

移除字典里所有 items 。不接受任何参数,返回值为 None 。

d = {'a' : 1, 'b' : 2, 'c': 3 }
d.clear()
print(d)
# {}

2.dict.copy()

浅拷贝,区别于深拷贝,对拷贝的字典修改不改变原字典。

d = {'a' : 1, 'b' : 2, 'c': 3 }
print(id(d))
# 2463175235008
d_n=d.copy()
print(d_n)
# {'a': 1, 'b': 2, 'c': 3}
print(id(d_n))
# 2463175235264
print('-'*50)
d_n['a']=2
print(d)
# {'a': 1, 'b': 2, 'c': 3}
print(d_n)
# {'a': 2, 'b': 2, 'c': 3}

3.dict.get(‘key’[, ])

通过键名访问对应的值。与常用的访问方法的区别是:若字典里没有所访问的键,则程序会报错,使得程序运行不下去;get方法则会返回 None。还可以自己定义默认值,替换 None 。

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'北京'}
age = info.get('age')
print(age)
# None
age=info.get('age',18)
print(age)
# 18

4.dict.items()

将字典所有的键值对以 dict_items 的类型返回,可以转换成列表,元组等。列表中的每一项都表示为 (键,值) 的形式。由于字典是无序的,故返回时并没有遵循特定的次序。不接受任何参数。

d = {'a' : 1, 'b' : 2, 'c': 3 }
t=d.items()
print(t)
# dict_items([('a', 1), ('b', 2), ('c', 3)])

5.dict.keys()

将字典里的所有键以 dict_keys 的类型返回。可以转换成列表,元组等。不接受任何的参数。

d = {'a' : 1, 'b' : 2, 'c': 3 }

print(d.keys())
# dict_keys(['a', 'b', 'c'])

6.dict.pop(key[,d])

删除指定键和其对应的值,并且返回指定键对应的值。若指定键不存在,一种情况程序会报错,另一种情况可以指定一个值作为返回值。

d = {'a' : 1, 'b' : 2, 'c': 3 }
d.pop('a')
print(d)
# {'b': 2, 'c': 3}

7.dict.popitem()

与列表的 pop 方法类似,但与之不同的是,由于字典是无序的,故是随机以(键,值)的形式抛出,并且返回(键,值)。不接受任何参数。

d = {'a' : 1, 'b' : 2, 'c': 3 }
d.popitem()
print(d)
# {'a': 1, 'b': 2}

8.dict.setdefault(key[,value])

与get方法类似。不同的是若字典里没有所访问的键,不仅会返回 None ,同时会在字典创建一个新的键值对,值默认为 None ,当然也可以设定默认值。

d = {'a' : 1, 'b' : 2, 'c': 3 }
d.setdefault('d')
print(d)
# {'a': 1, 'b': 2, 'c': 3, 'd': None}
d1 = {'a' : 1, 'b' : 2, 'c': 3 }
d1.setdefault('e',4)
print(d1)
# {'a': 1, 'b': 2, 'c': 3, 'e': 4}

9.dict1.update(dict2)

利用一个字典项更新另一个字典。将一个字典里的项添加到另一个字典里,若两个字典里有相同的键,则更新其键对应的值。
注意:更新后dict1和dict2完全相同

d = {'a' : 1, 'b' : 2, 'c': 3 }
d1 = {'a' : 1, 'b' : 2, 'c': 3 ,'e':5,'d':4}
d.update(d1)
print(d)
# {'a': 1, 'b': 2, 'c': 3, 'e': 5, 'd': 4}
print(d1)
# {'a': 1, 'b': 2, 'c': 3, 'e': 5, 'd': 4}

10.dict.values()

将字典里的所有值以 dict_values 的类型返回,可以转换成列表,元组等。不接受任何参数,用法和keys一样。

d = {'a' : 1, 'b' : 2, 'c': 3 }
t=d.values()
print(t)
# dict_values([1, 2, 3])

总结

字典是python中常用的数据类型,在存储需要一一对应的数据时候非常有用。
在学习python中必须掌握。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值