Python基础——字典

machine learning中运用到很多,时间一长怕忘,特此记录

部分参考博主:https://blog.youkuaiyun.com/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'}

如有错误,欢迎指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值