Python入门之字典

认识字典

1. 引入
当要存储的数据是有对应关系的时候,使用可以使用两个相对应的列表,但是这样操作起来会很麻烦,所以使用字典去存储会更简洁、更方便使用。在字典中,习惯将元素对应的索引号称为‘键(key)’,各个键对应的元素称为‘值’,键及其对应的值称为‘键值对’
2. 字典概念
字典是python中唯一的映射类型数据,'映射’是指元素之间有相互对应的关系,即通过一个元素(键),可以找到另一个元素(值)
字典元素的存储方式:字典的一个元素是三个部分:键:值,这三个部分一个都不能少。字典中元素以 {键:值, 键:值,……}的形式存储,每一个元素之间用‘,’隔开。
3. 字典的特点
字典是可变的序列(数据类型),这里的可变是指只能修改‘值’
1.字典中的键必须是唯一的:字典中,不支持同一个键出现多次,否则只会保留最后一个键值对
2.字典中的键必须不可变,所以字典中的‘键’只能用不可变的数据类型:字符串、元组、数值类型;字典的可变指的是它的‘值’是可变的,所以‘值’可以是任意数据类型。

字典的创建

1. 直接创建

a = {}#创建一个空字典
print(a,type(a))#{} <class 'dict'>
b = {'name':'xiaoming','age':'18'}
print(b)#{'name':'xiaoming','age':'18'}
print(len(b))#2

2. 通过dict()映射创建

格式:dict(键=值, 键=值, ……),这里元素的创建类似变量的创建。注意:使用此方式创建字典时,键只能是字符串字母(一般这样对应数据),并且键写字符串时不能带引号,值是字符串时必须带引号

a = dict(name = 'xiaoming',age = 18)
print(a)#{'name':'xiaoming','age':18}

注意: 字典的键不能重复,如果重复出现,后面键所对应的值会替换前面键所对应的值

a = {'name':'xiaoming','age':18,'age':20}
print(a)#{'name':'xiaoming','age':20

字典的增删改查

1. 查找
如何访问(查找)字典中的元素(如何获取字典中的元素):
1.通过for循环遍历;(这个是只取‘键’)

a = {'name':'xiaoming','age':'18'}
for i in a:
	print(i)#name age

2.通过‘键’取‘值’:类似生活中的通过音节查汉字,相当于通过‘列头’找‘列数据’
(这个是只取‘值’);

a = {'name':['xiaoming','xiaoli'],'age':[18,20]}
#输出所有姓名
print(a['name'])#'xiaoming','xiaoli'

3.通过get()访问(获取)。(这个也是只取‘值’)

a = {'name':'xiaoming','age':'18'}
b = a.get('age')
print(b)#18
c = a.get('sex')#如果获取字典中不存在的键
print(c)#None

2. 修改和添加
1.通过获取‘键’来修改对应的‘值’,当获取的‘键’不存在时,会直接添加进行作为新的‘键值对’

a = {'name':'xiaoming','age':'18'}
a['age'] = 20
print(a)#'name':'xiaoming','age':'20'
a['sex'] = '男'
print(a)#'name':'xiaoming','age':'20','sex':'男’

2.通过setdefault()查找’值’,当获取的‘键’不存在时,会直接添加进行作为新的‘键值对’

a = {'name':'xiaoming','age':'18'}
b = a.setdefault('age')
print(b)#18
c = a.setdefault('sex')
print(c)#None
c = a.setdefault('', '这个键不存在')
print(a)#{'name': 'xiaoming', 'age': '18', 'sex': '这个键不存在'}

3.通过update()修改‘键值对’,当不存在时会直接添加进去。

a = {'name':'xiaoming','age':'18'}
b = {'age':20}
a.update(b)
print(a)#{'name': 'xiaoming', 'age': 20
a.update({'age':30})
print(a)#{'name': 'xiaoming', 'age': 30}
a.update({'sex':'男'})
print(a)#{'name': 'xiaoming', 'age': '18', 'sex': '男'}

3. 删除
1.pop()函数,指定删除键值对,格式:字典或变量名.pop(键)

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

2.popitem()函数,随即删除键值对,格式:字典或变量名。popitem()

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

3.clear()函数,清空字典

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

其他特定函数

1.keys():用于获取字典中的所有‘键’

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

2.values():用于获取字典中的所有‘值’

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

3.items():用于获取字典中的所有的‘键值对’

a = {'a':1,'b':2,'c':3,'d':4}
b = a.items()
print(b)#dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值