前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python基础数据类型之字典

Python基础数据类型之字典

作者头像
新人小试
发布2018-04-12 10:56:03
7910
发布2018-04-12 10:56:03
举报
文章被收录于专栏:代码世界

 基础数据类型之字典

ps:数据类型划分:可变数据类型和不可变数据类型。

不可变数据类型:元组(tupe)、布尔值(bool)、整数型(int)、字符串(str)。不可变数据类型也称为可哈希。

可变数据类型:列表(list)、字典(dict)、集合(set)。可变数据类型也称为不可哈希。

字典

  字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

  字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典的增删改查:

增:

代码语言:javascript
复制
dic1 = {'age':18,'name':'jin','sex':'male'}
dic1['high'] = 185

直接增加,原字典中没有时直接添加到原字典的后面。

代码语言:javascript
复制
dic1 = {'age':18,'name':'jin','sex':'male'}
dic1['age'] = 38

如果增加的内容在原来的字典中有这对键值,那么会对原来的键值进行修改。

代码语言:javascript
复制
dic1 = {'age':18,'name':'jin','sex':'male'}
dic1.setdefault('weight')

  dic1.setdefault('')        在字典中添加键值对,如果只有键那对应的值是none

代码语言:javascript
复制
dic1['high'] = 185
dic1.setdefault('weight',150)
dic1.setdefault('name','二哥')

 dic1.setdefault('')     如果原字典中存在设置的键值对,则他不会更改或者覆盖。

删除

代码语言:javascript
复制
dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值,可以有返回值print(dic_pop)
print(dic)
print(dic_pop)
del dic["name"]  # 没有返回值。
print(dic)

dic_pop1 = dic.popitem()  # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回
print(dic_pop1)  # ('name','jin')

dic_clear = dic.clear()  # 清空字典
print(dic,dic_clear)  # {} None

字典的删

 例如:

代码语言:javascript
复制
dic1 = {'age':18,'name':'jin','sex':'male'}
dic1.pop('age')
print(dic1.pop('二哥',None))
print(dic1)
dic1.popitem()
print(dic1.popitem())
print(dic1)
del dic1['name']
print(dic1)
del dic1
print(dic1)
dic1.clear()
print(dic1)

 修改:

代码语言:javascript
复制
dic1 = {'age':18,'name':'jin','sex':'male'}
dic1['age'] = 38
print(dic1)

dic={'name':'jinxin','age':18,'sex':'male'}
dic2={'name':'alex','weight':75}
dic2.update(dic)   将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中

print(dic2)
print(dic)
dic1 = {'age':18,'name':'jin','sex':'male'}

 查:

代码语言:javascript
复制
dic1 = {'age':18,'name':'jin','sex':'male'}
print(dic1.keys(),type(dic1.keys()))      #没有会报错
print(dic1.values())        #没有会报错
print(dic1.items())      #没有会报错
v2 = dic1['ame']      不是在里面的键会报错
print(v2)
print(dic1.get('name'))
print(dic1.get('nme','没有这个'))
for i in dic1 :
    print(i)
for i in dic1.keys() :
    print(i)
for i in dic1.values() :
    print(i)
代码语言:javascript
复制
for k,v in dic1.items() :
    print(k,v)
v1 = dic1['age']
print(v1)

for循环输出字典里的键值对

其他操作:

代码语言:javascript
复制
dic = {"name":"jin","age":18,"sex":"male"}
for key in dic:
    print(key)
for item in dic.items():
    print(item)
for key,value in dic.items():
    print(key,value)  
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  基础数据类型之字典
  • 字典
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档