11.Python基础10_字典

字典是另一种可变容器模型,且可存储任意类型对象。

创建字典

  • 字典的每个键值(key=>value)对用冒号(:)分割,
  • 每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
dict = {key1 : value1, key2 : value2 }
  • 键必须是唯一的,但值则不必。
  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
dict = {'name': '静静', 'age': 18, 'gander': '女'}

访问字典元素

把相应的键放入到方括号中,如下实例:

dict = {'name': '静静', 'age': 18, 'gander': '女'}
print('name:',dict['name'])
print('age:',dict['age'])

运行结果:

name: 静静
age: 18

如果用字典里没有的键访问数据,会输出错误如下:

dict = {'name': '静静', 'age': 18, 'gander': '女'}
print(dict['hh'])

运行结果:

Traceback (most recent call last):
  File "C:/workspace/pythonTest/0912/dict.py", line 2, in <module>
    print(dict['hh'])
KeyError: 'hh'

修改字典

添加元素

如果字典中键不存在会直接添加

ict = {'name': '静静', 'age': 18, 'gander': '女'}
dict['phone'] = '12345'   #添加元素
print(dict)

运行结果:

{'name': '静静', 'age': 18, 'gander': '女', 'phone': '12345'}
修改元素

如果字典中键存在则会直接修改该元素

dict = {'name': '静静', 'age': 18, 'gander': '女'}
dict['age']=20
print(dict)

运行结果:

{'name': '静静', 'age': 20, 'gander': '女'}

删除字典元素

可以删除单个元素也可以直接删除整个字典

单个移除:
dict = {'name': '静静', 'age': 18, 'gander': '女'}
del dict['gander']
print(dict)

运行结果:

{'name': '静静', 'age': 18}
字典清空:
dict = {'name': '静静', 'age': 18, 'gander': '女'}
dict.clear()
print(dict)

运行结果:

{}

可见结果变成空字段,就是清空只清除字典中的元素,但是字典还是存在的;

删除字典
dict1 = {'name': '静静', 'age': 18, 'gander': '女'}
del dict1
print(dict1)

运行结果:

Traceback (most recent call last):
  File "C:/workspace/pythonTest/0912/dict.py", line 3, in <module>
    print(dict1)
NameError: name 'dict1' is not defined

字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

dict1={'name':'静静','age':20,'name':'小静'}
print(dict1)
print(dict1['name'])

运行结果:

{'name': '小静', 'age': 20}
小静

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:

dict1={('name',):'静静','age':20}   #元组作为键
print(dict1)
print(dict1[('name',)])

dict2={['name']:'静静','age':20}  #列表作为键
print(dict2)

运行结果:

{('name',): '静静', 'age': 20}
静静
Traceback (most recent call last):
  File "C:/workspace/pythonTest/0912/dict.py", line 8, in <module>
    dict2={['name']:'静静','age':20}
TypeError: unhashable type: 'list'

字典内置函数

Python字典包含了以下内置函数:
  • len(dict) 计算字典元素个数,即键的总数。
  • str(dict) 输出字典,以可打印的字符串表示。
dict = {'name': '静静', 'age': 18, 'gander': '女'}
print(len(dict))
print(dict)
print(str(dict))

运行结果:

3
{'name': '静静', 'age': 18, 'gander': '女'}
{'name': '静静', 'age': 18, 'gander': '女'}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值