python学习笔记:字典(dictionary)

本文是关于Python字典的学习笔记,字典是一种通过键存取数据的无序集合,支持变长、异构和任意嵌套。与列表不同,字典不支持合并与分片操作。作为可变映射类型,字典允许原处修改。字典的元素以键值对形式存在,可以包含任意类型的对象。示例中展示了用字典创建语言表,要注意字典的序列运算无效,新键赋值会添加元素,键可以不是字符串。

python学习笔记:字典(dictionary)

  • 字典(dictionary)与列表(list)的主要差别就是字典是通过键来存取的,而不是偏移,并且字典(dictionary)是无序的,因此字典(dictionary)不支持合并与分片的操作
  • 字典(dictionary)有时会被叫做关联数组(associative array)或者是散列表(hash),很多时候取代了低级语言中的一些数据结构,具体如何取代需要看具体的项目。
  • 字典(dictionary)是任意对象的无序集合。
  • 字典(dictionary)支持变长,异构,任意嵌套,非常灵活。
  • 字典(dictionary)属于可变的映射类型,可在原处修改,这一点与列表是一样的(list)。
  • 字典(dictionary)中的元素以“键:值(key:value)的形式存在”。
  • 每次对新字典键赋值的时候,就会在字典中生成一个新的元素,而列表中则不相同,因为python会将超出列表末尾的偏移视作越界
  • 字典(dictionary)常量与操作:
操作解释
D = { }空字典
D = {‘spam’ : 2,‘eggs’ : 3}两项目字典
D = {‘food’ : {‘ham’ :1, ‘egg’ : 2}}嵌套
D = dict.fromkeys([‘a’, ‘b’])新建字典并指定键的值
D = dict(zip(keyslist, valslist))新建字典并确定键与值
D = dict(name = ‘Bob’, age = 42)按等式左边为键,右边为值的方式新建字典
D[‘eggs’]按键进行索引运算
D[‘eggs’][‘ham’]按键进行索引运算
‘eggs’ in D成员关系
D.keys()
D.values()
D.items()键+值
D.copy()副本
D.get(key, default)当字典中不存在此键时,会返回设置的默认值,而不会报错
D.update(D1)取并
D.pop(key)按键删除并返回对应的值
len(D)求长度
del D[key]按键删除
list(D.keys())由字典的键生成一个列表
D1.keys() & D2.keys()返回set()
D = {x: x*2 for x in range(10)}字典解析
  • 字典(dictionary)中比较实用的例子:语言表。
table = {'c':'chinese','f':'france','e':'english'}
country_key = 'c'
country = table[country_key]
for co in table:
	print(co, '\t', table[co])

输出:
c chinese
f france
e english

  • 字典使用最需要注意的几个问题:
  1. 序列运算是无效的。
  2. 对新的索引赋值会添加项而不会报错。
  3. 键不一定总是字符串(比如在键为有序的整数时,可以效仿列表,按偏移进行操作,因此也可以用于稀疏数据结构)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值