Python:Dict
0、运算符
in:检查字典中是否有某个key
'a' in {'a':1,'b':2} True
提取其中Key对应的Value:
d={'1':'A','2':'B','3':'C'}
d['2'] #'B'
d.get('2') #'B'
1、方法:
| 方法 | 说明 |
| dict.clear() | 删除dict内的所有元素 |
| dict.copy() | 返回一个dict的副本(如果Value有List类型,那么对原始dict的修改可能影响副本) |
| dict.fromkeys(seq [, val]) | 创建一个新dict,以序列seq中的元素作为key,序列val为这些key对应的value |
| dict.get(key , default=None) |
返回指定键的值,如果值不在dict中就返回default指定的值 更方便的方法是dict[key] |
| dict.has_key(key) | 如果key在dict内就返回True,否则False |
| dict.items() | 返回一个list,list中的元素为(key,value)元组 |
| dict.keys() | 以dict_keys的形式返回一个dict中的所有key,如果要转化为list,请用list(dict.keys()) |
| dict.values() | 以list的形式返回一个dict中的所有value |
| dict.update(dict2) | 将dict2中的key-value更新到dict中 |
| dict.pop(key [, default]) | 删除dict中给定key对应的value,返回该value。如果key不存在则返回default的值 |
| dict.popitem() | 返回并删除dict中的最后一对key、value |
2、dict转list
不能直接用强制类型转换list(),这样转换后的结果中只有key没有value
正确做法:
list( dict.items() )
这样转换后的list的形式为[(key1,val1),(key2,val2),...],每个key-value都转化为一个list的一个tuple元素(key , value)
2.5、list转dict
这里的list元素必须是上文提到的那种tuple元素(key , value),可以直接用dict()转换,其他形式的list无法转换
dict([('key',333)]) {'key': 333} dict([('key',333),('value',666)]) {'key': 333, 'value': 666}
3、遍历字典序列
for key,value in dict.items(): print(key,value)

浙公网安备 33010602011771号