字典

字典

特点:键值对(映射)存储,没有索引,是无序的
语法:大括号括住,内容为键值对(key-value),键值对用冒号连接,每个键值对左边为键(key)右边为(value),键值对之间用逗号分隔

创建
1.类实例化创建,如:dict1 = dict()
2.创建一个空列表,如:dict1 = {}
3.创建时附初始值,如:dict = {‘name’:‘小明’, ‘age’:19}
4.列表嵌套字典,如:student_list = [ {‘name’:‘小明’}, {‘name’:‘小王’},{…} ]

一、添加项

1.dict[‘新键’] = ‘新值’,例如:

dict = {'name':'小明','age':19,'sex':'female'}
dict['work'] = 'student'
print(dict)

2.dict.update()方法:用于将dict2的键值对添加到dict。
语法:dict.update(dict2)

dict = {'Name': 'Maxsu', 'Age': 7}
dict2 = {'Sex': 'female' }

dict.update(dict2)
print (dict)
二、修改项

1.dict[‘键’] = ‘新值’

dict1 = {'name':'小明','age':19,'sex':'miss'}
dict1['name'] = '小月'
print(dict1)

2.dict.update(key1=value1, key2=value2, …)
内存原理: 键名映射指向了新的值,哈希表,字典查询效率比较高

stu_dict  = {'name': '小红', 'age': 10}
stu_dict.update(name='小李', age=12)
print(stu_dict)
三、查询项

1.dict[‘key’]
如果键不存在的话,会报错

dict2 = {'name':'小明','age':19,'sex':'miss'}
a = dict2['name']
print(a)

2.get(‘键’,‘默认值’=None)
如果找不到键名不会报错,会返回默认值

dict2 = {'name':'小明','age':19,'sex':'miss'}
a = dict2.get('age','1')
print(a)

3.遍历
用for循环遍历
语法:dict.items() 转换成列表形式

dict = {'name':'小明','age':19,'sex':'miss'}
for x,y in dict.items():
    print('键{},值{}'.format(x,y))

dict.keys() 返回一个列表,每一项是字典里的键
dict.values() 返回一个列表,每一项是字典里的值

dict = {'name':'小明','age':19,'sex':'miss'}
for i in dict.keys():
	print(i)
dict.__contains__('key')   如果存在返回True ,否则输出False
dict4 = {'name':'小明','age':19,'sex':'miss'}
for i in dict4.items():
    print(i)
for i in dict4.keys():
    print(i)
for i in dict4.values():
    print(i)
# dict4.__contains__('key')
# print(dict4)
print(dict4.__contains__('name'))
四、删除项

1.pop(键) 根据键删除,返回删除成功的值,会把键和值都删除
语法:dict.pop(‘键’)

stu_dict = {'name': '小明', 'age': 10}
print(stu_dict.pop('name'))

2.del 关键字删除,没有返回值,会把键和值都删除
语法:del dict[‘键’]

stu_dict = {'name': '小明', 'age': 10}
del stu_dict['name']
print(stu_dict)

3.删除所有内容
语法:dict.clear()

stu_dict = {'name': '小明', 'age': 10}
print(stu_dict.clear())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值