关于字典的学习笔记

本文详细介绍了Python字典的定义、特点和常见操作,包括创建、添加、修改、删除数据,以及如何通过键获取值。字典是一种无序的键值集合,键必须是不可变类型,如元组或字符串,每个键是唯一的。文中还提及了字典与其他数据结构(如列表、元组)的共通方法,但未涉及排序细节,这部分留待后续学习。
摘要由CSDN通过智能技术生成

字典的定义及特点

定义:是python中重要的数据类型,字典是有键值对组成的集合,通常使用键来访问数据,效率非常高,和list一样,支持对数据的添加,修改和删除。
特点
1.不是序列类型,没有下标概念,是一种无序 的键值集合,是内置的高级数据类型。
2.用{}用{}来表示字典对象,每个键值对用逗号分隔
3.键 必须是不可变的类型【元组、字符串】值可以是任意的类型
4:每个键必定是惟一的,如果存在重复的键,后者会覆盖前者

关于字典的代码举例

1. 如何创建字典和添加数据

创建空字典,并验证类型

dicA={}
print(type(dicA))

输出结果为:

<class ‘dict’>

dicA={'pro':'大反派','school':'asdasd'}
dicA['name']='张三'   #key:value
dicA['Age']='22'
dicA['job']='法外狂徒'
print(dicA)  #输出完整的字典
print(len(dicA))  #数据项长度

输出结果:

{‘pro’: ‘大反派’, ‘school’: ‘asdasd’, ‘name’: ‘张三’, ‘Age’: ‘22’, ‘job’:‘法外狂徒’}
5 #看有几个key

2. 如何获取数据

通过键获取对应的值

print(dicA['name'])

输出结果:

张三

获取所有键

print(dicA.keys())

输出结果:

dict_keys([‘pro’, ‘school’, ‘name’, ‘Age’, ‘job’])

获取所有的值

print(dicA.values())

输出结果:

dict_values([‘大反派’, ‘asdasd’, ‘张三’, ‘22’, ‘法外狂徒’])

获取所有的键和值

print(dicA.items()) 

输出结果:

dict_items([(‘pro’, ‘大反派’), (‘school’, ‘asdasd’), (‘name’, ‘张三’),
(‘Age’, ‘22’), (‘job’, ‘法外狂徒’)])

或者可以使用遍历

'''for item in dicA.items():
    print(item)'''
'''for key,value in dicA.items():
    print('%s==%s'%(key,value))'''

3. 修改数据操作

dicA['name']='切瓦辛格'
print(dicA)

输出结果:

{‘pro’: ‘大反派’, ‘school’: ‘asdasd’, ‘name’: ‘切瓦辛格’, ‘Age’: ‘22’, ‘job’: ‘法外狂徒’}

也可以用update更新元组中的数据

dicA.update({'Age':50})  #使用update更新数据
dicA.update({'height':'180'})

4. 删除数据操作
可以用pop或者del,示例如下

del dicA['name']
dicA.pop('age')
通过删除key来删除数据

5. 排序(还不明白)

#如何排序 按着key排序
print(sorted(dicA.items(),key=lambda d:d[0]))
#按着value进行排序
print(sorted(dicA.items(),key=lambda d:d[1]))

问题

  • 排序这块还不明白,以后再看一下。

列表,元组,字典的公有方法

#公有方法  +  *(复制操作)  in
#字符串合并
strA='床前明月光,'
strB='疑是地上霜。'
print(strA+strB)
#列表合并
listA=list(range(10))
listB=list(range(10,20))
print(listA+listB)
#同样可以用于元组合并

#复制  *
'''print(strA*3)
print(listA*3)'''

#in 判断对象是否存在 结果是布尔类型数据
print('明' in strA)  #True
print(22 in listA)  #False
dicK={'address':'江西'}
print('age' in dicK)  #False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值