Python
有序、有下标、必须成对出现、key不可重复
字典
代码示例:
# 有内容的字典:
foo = {1:True,False:'bar',2.0:56,(1,):[1,2,3,{1:2,2:3}]}
# 列表转字典(字典转列表会保存键舍弃值):
bar = dict([('bar','foo'),('foo','bar')])
增删改查
方法 | 注释 |
---|---|
popitem | 删除最后一对键值对(返回值:tuple) |
get | 返回指定键的值(如字典里无指定键,则返回None) |
values | 返回字典的全部值(返回值:tuple嵌套list) |
keys | 返回字典的全部键(返回值:tuple嵌套list) |
items | 返回字典中的全部键值对(返回值:tuple嵌套list嵌套tuple) |
setdefault | 往字典里添加一对指定的键值对(同键名则不可以覆盖其值) |
update | 追加指定键值对(必须是字典类型) |
fromkeys | 创建一个字典(可迭代对象的元素作为键,指定值作为键的公共值) |
代码示例:
# 增加、修改(覆盖):
foo = {'foo':7,'bar':2}
foo['awsl'] = 7 # {'foo':7,'bar':2,'awsl':7}
foo['awsl'] *= 2 # {'foo':7,'bar':2,'awsl':14}
# 删除:
foo = {'foo':22,'bar':33}
foo.clear() # {}
bar = foo.pop('foo') # 用键代替下标成对删
print(foo) # {'bar':33}
print(bar) # 22
foo.popitem()
del foo['foo']
del foo
# 遍历、查询:
foo = {'foo':11,'bar':22}
foo.get('foo') # 11
foo.get('foo','fq') # 如字典里无指定键,则返回'fq'
foo['foo'] # 11(如字典里无指定键,则报错)
len(foo) # 2(键值对数)
foo.keys()
list(foo.keys()) # 转换为列表
for i in foo:
print(i) # 遍历键
for i in foo.keys(): # 底层会自动转换为列表
print(i) # 遍历键
foo.values()
list(foo.values()) # 转换为列表
for i in foo.values(): # 底层会自动转换为列表
print(i) # 遍历值
foo.items()
for i in foo.items(): # 底层自动转换为元组
print(i) # ('foo',11),('bar',22)
for i,j in foo.items():
print(i,j) # foo 11 bar 22
foo.setdefault('foo':1024)
foo.update({'bar':2048})
print(dict.fromkeys([1,2,3],99)) # {1: 99, 2: 99, 3: 99}
# 嵌套字典:
foo = {'bar':{1:2}}
foo['bar'][1] # 2
foo['bar'][3] = 4 # {'bar': {1: 2, 3: 4}}