machine learning中运用到很多,时间一长怕忘,特此记录
部分参考博主:https://blog.csdn.net/winycg/article/details/78053037
字典:键值对的集合,该集合以键为索引,同一个键对应一个值,为一个容器类型
举例:学生的姓名与学号
- 字典操作
创建字典:1.用{ }直接创建;2.用内置函数dict
字典初始化:1.创建字典的时候直接初始化;2.使用字典的fromkeys方法可以从列表中获取元素作为键并用None或fromkeys方法的第二个参数初始化
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
#创建字典,初始化字典
dic1 = {'a':2, 'b':4} #直接创建个字典
dic2 = dict([['a',2],['b',4]]) #使列表字典化
dic3 = dict([('a',2),('b',4)]) #使含有元组的列表字典化
dic4 = dict(name ='akai',age =24 ) #给出键与值,使之字典化
print(dic1)
print(dic2)
print(dic3)
print(dic4)
#结果:
#{'a': 2, 'b': 4}
#{'a': 2, 'b': 4}
#{'a': 2, 'b': 4}
#{'name': 'akai', 'age': 24}
#第二种方法初始化字典
dic1 = {}.fromkeys(['name', 'blog'])
dic2 = dict().fromkeys(['name', 'blog'])
dic3 = {}.fromkeys(['name', 'blog'],'akai')
print(dic1)
print(dic2)
print(dic3)
#结果:
#{'name': None, 'blog': None}
#{'name': None, 'blog': None}
#{'name': 'akai', 'blog': 'akai'}
获取键值:1.一般取值;2.内置函数dic.get()
dic = {'name': 'akai', 'age': "24"}
print(dic['name'])#一般取键值
#引入关于字典的内置函数dic.get()
# get() 函数返回指定键的值,如果值不在字典中返回默认值
# dict.get(key, default=None)
print(dic.get('name'))
print(dic.get('addr'))#没有该键,返回默认值
print(dic.get('addr','shanghai'))#default的值可以改掉
#结果:
#akai
#akai
#None
#shanghai
修改/添加:
dic = {'name': 'akai', 'age': "24"}
dic['name'] = 'job' #修改
dic['addr'] = 'shanghai' #添加
print(dic)
#结果:
#{'name': 'job', 'age': '24', 'addr': 'shanghai'}
# update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里
#键相同更新键值,键不同添加键值
#dict.update(dict2)
dic = {'name': 'akai', 'age': '24'}
dic2 = {'name':'job', 'addr':'shanghai'}
dic.update(dic2)
print(dic)
#结果:
#{'name': 'job', 'age': '24', 'addr': 'shanghai'}
删除:
#删除
dic = {'name': 'akai', 'age': '24'}
del dic['name'] #删除键值
print(dic)
dic.clear() #删除字典内所有键值
print(dic)
#{'age': '24'}
#{}
遍历:
# items() 方法以列表返回可遍历的(键, 值) 元组数组
dic = {'name': 'akai', 'age': '24'}
print(dic.items())
#结果:dict_items([('name', 'akai'), ('age', '24')])
#items常用作遍历所有项
dic = {'name': 'akai', 'age': '24'}
for k, v in dic.items():
print("%s is %s"% (k,v))
#name is akai
#age is 24
字典推导式:不细展开
#字典推导式
dic = {"a":"b", "c":"d"}
#问题 把key与value位置互换
new_dic = {dic[key]:key for key in dic}
print(new_dic)
#{'b': 'a', 'd': 'c'}
如有错误,欢迎指正!