Python之Map字典

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

创建字典

map1 = {};
map2 = {'name':'feige', 'age':24, 'sex':'nan'};
map3 = dict(name='fei', age=24, sex='nan');
print(map2);
print(map3);
结果:
{'name': 'feige', 'age': 24, 'sex': 'nan'}
{'name': 'fei', 'age': 24, 'sex': 'nan'}

访问字典

mymap = {'name':'feige', 'age':24, 'sex':'nan'};
#通过key访问value,key不存在的时候会报错。
print(mymap['name']);
#通过get方法获取value,键不存在不会报错,返回None。
print(mymap.get('age'));
#通过setdefault()方法获取值,如果key不存在,则添加。
print(mymap.setdefault('height'));
#获取所有kek。
keys = mymap.keys();
for key in keys:
    print(key, end=' ');
#获取所用的值。
print();
values = mymap.values();
for value in values:
    print(value, end=' ');
#获取所有的键值对。
print();
items = mymap.items();
for item in items:
    print(item, end=' ');
结果:
feige
24
None
name age sex height 
feige 24 nan None 
('name', 'feige') ('age', 24) ('sex', 'nan') ('height', None)

删除字典

mymap = {'name':'feige', 'age':24, 'sex':'nan'};
#复制一份map
mapCopy = mymap.copy();
print(mapCopy);
#清空map,直接赋值{}会造成内存泄漏。
mymap.clear();
print(mymap);
#根据key弹出,返回对应的value,如果key不存在则报错。
mapCopy.pop('sex');
print(mapCopy);
#随机弹出一项,返回键值对的元组。
mapCopy.popitem();
print(mapCopy);
结果:
{'name': 'feige', 'age': 24, 'sex': 'nan'}
{}
{'name': 'feige', 'age': 24}
{'name': 'feige'}

更新字典

mymap = {'name':'feige', 'age':24, 'sex':'nan'};
#更新字典,如果key不存在,则成了向字典里面添加这个键值对。
mymap['name'] = 'fei';
print(mymap);
#若没有对应的key,就会把key和value添加进去。
mymap.update(age = 18);
print(mymap);
结果:
{'name': 'fei', 'age': 24, 'sex': 'nan'}
{'name': 'fei', 'age': 18, 'sex': 'nan'}

参数为字典的函数

def method(**mymap):
    print(mymap);
#自动打包成map对象
method(name='feige', age=18);
#自动解包
map1 ={'name':'qiang', 'age':24};
method(**map1);
结果:
{'name': 'feige', 'age': 18}
{'name': 'qiang', 'age': 24}

其他内置函数

  1. len(dict) 计算字典元素个数,即键的总数。
  2. str(dict) 输出字典,以可打印的字符串表示。
  3. type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

觉得有用的老铁,请点击推荐!

猜你喜欢

转载自www.cnblogs.com/feiqiangsheng/p/10922244.html
今日推荐