Python-07-字典

字典

零、字典的应用

思考:如何快速存储一组数据?

答案:使用列表,p = ['Tomcat', 18, '男']

思考:如何提取想要的数据?

答案:通过下标来提取,p[0]

思考:如果列表中的元素顺序发生改变,对应就的数据如何规避错误?

答案:使用字典。

  • 字典通过keyvalue来表示字典中元素,每个元素使用逗号隔开,元素之间没有顺序。
  • 字典是可变数据类型,它是无序的,可迭代的数据类型

一、字典的创建

# 1. 创建一个字典
d1 = {'a': 11, 'b': 22, 'c': 33}
print(d1, type(d1))     # {'a': 11, 'b': 22, 'c': 33} <class 'dict'>

# 2. 创建一个空字典
d21 = {}
d22 = dict()
print(d21, type(d21))       # {} <class 'dict'>
print(d22, type(d22))       # {} <class 'dict'>

# 3. dict函数
# 3.1 通过键值的映射来创建
d31 = dict([('a', 11), ('b', 22), ('c', 33)])
# d31 = dict((('a', 11), ('b', 22), ('c', 33)))		# dict()函数中传入列表和元组均可
print(d31)		# {'a': 11, 'b': 22, 'c': 33} <class 'dict'>

# 3.2 使用key=value的形式创建一个字典
d32 = dict(
    a=11,
    b=22,
    c=33
)
print(d32, type(32))		# {'a': 11, 'b': 22, 'c': 33} <class 'dict'>

二、常用方法

2.1 增

d1 = {0: 11, 1: 22, 2: 33}

d1[3] = 55
print(d1)		# {0: 11, 1: 22, 2: 33, 3: 55}

2.2 删

方法
del object
D.clear() -> None
  • del
d1 = {0: 11, 1: 22, 2: 33}

del d1[1]
print(d1)			# {0: 11, 2: 33}

del d1
print(d1)			# 报错,d1对象已经被删除
  • clear()
d1 = {0: 11, 1: 22, 2: 33}

d1.clear()
print(d1)			# {}

2.3 改

d1 = {0: 11, 1: 22, 2: 33}

d1[2] = 55
print(d1)			# {0: 11, 1: 22, 2: 55}

2.4 查

方法描述
D[key]通过key获取value,如果key未找到,则报错
D.get(key, default=None) -> Union通过key获取value,如果key未找到,则返回指定的值,默认返回None
D.keys() -> KeysView
D.values() -> ValuesView
D.items() -> ItemsView
  • 通过key来获取value
d1 = {'A': 11, 1: 22, 2: 33}

print(d1['A'])			# 11
print(d1['B'])			# KeyError,没有要找的key
  • get()

参数解释:

default=None:当key未找到时,指定get()方法的返回值,默认返回None。

d1 = {'A': 11, 1: 22, 2: 33}

print(d1.get('A'))		# 11

# 修改get()的参数
print(d1.get('B', '真的没有吗?'))		# 真的没有吗?
  • keys()
d1 = {'A': 11, 1: 22, 2: 33}

print(d1.keys())		# dict_keys(['A', 1, 2]),是可迭代对象
  • values()
d1 = {'A': 11, 1: 22, 2: 33}

print(d1.values())		# dict_values([11, 22, 33]),是可迭代对象
  • items()
d1 = {'A': 11, 1: 22, 2: 33}

print(d1.items())		# dict_items([('A', 11), (1, 22), (2, 33)]),是可迭代对象

三、遍历

3.1 从字典对象中遍历

d1 = {'A': 11, 'B': 22, 'C': 33}

# 遍历字典的key
for i in d1:		# 默认遍历的是字典的key
    print(i, end=' ')		# A B C

# 遍历字典的value
for i in d1:
    print(d1[i], end=' ')		# 11 22 33

3.2 遍历keys

d1 = {'A': 11, 'B': 22, 'C': 33}

for k in d1.keys():		# 遍历字典的key
    print(k, end=' ')		# A B C

3.3 遍历values

d1 = {'A': 11, 'B': 22, 'C': 33}

for v in d1.values():	# 遍历字典的value
    print(v, end=' ')		# 11 22 33 

3.4 遍历items

d1 = {'A': 11, 'B': 22, 'C': 33}

for i in d1.items():
    pirnt(i)
''' 输出结果:
('A', 11)
('B', 22)
('C', 33)
'''    


for k, v in d1.items():
    print(k, v)
''' 输出结果:
A 11
B 22
C 33
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值