1. 字典理解
字典在其他语言里可能会被叫做联合内存或联合数组。序列以连续整数为索引,字典是以关键字为索引的,关键字可以是任意不可变类型,通常是字符串或数字。
如果一个元组只包含字符串、数字或元组,那么这个元组也可以用作关键字。但如果元组直接或间接地包含了可变对象,那么它就不能用作关键字。
列表不能用作关键字,因为列表可以通过索引、切片或 append() 和 extend() 之类的方法来改变。
字典就是键值对的集合,键必须是唯一。花括号{}就是空字典,另一种初始化字典的方式是在一对花括号里放置一些以逗号分隔的键值对,而这也是字典输出的方式。
字典主要的操作是使用关键字存储和解析值。也可以用 del 来删除一个键值对。如果你使用了一个已经存在的关键字来存储值,那么之前与这个关键字关联的值就会被遗忘。用一个不存在的键来取值则会报错。
list(dictionary) 将返回字典dictionary中键列表,排序用 sorted(d)。检查字典中是否存在特定键,使用 in 关键字。
>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['guido'] = 4127
>>> tel
{'jack': 4098, 'sape': 4139, 'guido': 4127}
>>> tel['jack']
4098
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'jack': 4098, 'guido': 4127, 'irv': 4127}
>>> list(tel)
['jack', 'guido', 'irv']
>>> sorted(tel)
['guido', 'irv', 'jack']
>>> 'guido' in tel
True
>>> 'jack' not in tel
False
2. dict() 构造函数
dict() 构造函数可以直接从键值对序列里创建字典。
>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
{'sape': 4139, 'guido': 4127, 'jack': 4098}
>>> dict(sape=4139, guido=4127, jack=4098)
{'sape': 4139, 'guido': 4127, 'jack': 4098}
d1=dict({"name":"gege","age":"33"})
d2=dict([("name","Gege"),("age",33)])
d3=dict(name="gege",age=33,sex=True)
print(d1)
print(d2)
print(d3)
3. 字典推导式
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
————Blueicex 2020/07/19 13:41 blueice1980@126.com