栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

python- 字典dict

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python- 字典dict

pyhon - 字典dict
  • 1.字典的说明
  • 2.字典的创建
    • 2.1.1直接赋值创建
    • 2.1.2通过dict()命令创建
    • 2.1.3通过zip()方法创建
    • 2.1.4通过字典的fromkeys方法创建
  • 3.字典的访问(增、删、改、查)
    • 3.1字典的查询
      • 3.1.1字典的值查询
      • 3.1.2 字典的关键字、值、键值对查询。
    • 3.2 字典的元素添加
      • 3.2.1 通过update方法添加键值对
      • 3.2.2 通过对关键字赋值添加键值对
    • 3.3 字典的键值对修改
    • 3.4字典的删除
      • 3.4.1 del方法
      • 3.4.2 dict.pop()方法
      • 3.4.3 dict.popitem()方法
      • 3.4.4 dict.clear()方法

1.字典的说明

在python中,字典是keyword,value数据结构,元素是无序的,那也就说明了字典是没有切片,通过索引定位其中元素的。有一个比较明显的特征是字典不允许重复的关键字。否则会替换成最后一个。

2.字典的创建 2.1.1直接赋值创建
  • 创建空字典
  • 创建非空字典
dicta = {}			#创建空字典
dicta
{}
type(dicta)
			#通过type查看dicta的类型为dict。
dictb = {'name':'csdn','website':'www.csdn.net','age':13,'balance':29999.222}#创建非空字典
dictb
{'name': 'csdn', 'website': 'www.csdn.net', 'age': 13, 'balance': 29999.222}
type(dictb)

2.1.2通过dict()命令创建
  • dict()赋值创建**dict(k=value,k=value,…)**
  • dict()把列表转换成字典。dict([(k,v),(k,v),…])
dicte = dict(name='csdn',website='www.csdn.net',age=13)
dicte
{'name': 'csdn', 'website': 'www.csdn.net', 'age': 13}
type(dicte)

dictf = dict([('name','csdn'),('website','www.csdn.net'),('age',13)])
dictf
{'name': 'csdn', 'website': 'www.csdn.net', 'age': 13}
type(dictf)
 

2.1.3通过zip()方法创建
lista = ['name','website','age']
listb = ['csdn','www.csdn.net',13]
dicth = dict(zip(lista,listb))
dicth
{'name': 'csdn', 'website': 'www.csdn.net', 'age': 13}
type(dicth)

2.1.4通过字典的fromkeys方法创建

首先有一个迭代对象做为关键字(keyword),再设置具体的值。命名用方法是dict.fromkeys(可迭代对象,要设置的具体值),示例:

d = ['张小小','王老二','李坚三','赵怀东']
d
['张小小', '王老二', '李坚三', '赵怀东']
dictj = dict.fromkeys(d,'中国人')
dictj
{'张小小': '中国人', '王老二': '中国人', '李坚三': '中国人', '赵怀东': '中国人'}
3.字典的访问(增、删、改、查) 3.1字典的查询 3.1.1字典的值查询

开篇我们就提到过字典是无序的k,v数据结构组合,是没有索引这个概念,也就无法通过索引值,切片进行字典的访问,这和字符串,列表,元组不同。
字典的访问方式有二种,一种是通过关键字keyword访查,二是通过字典的自有方法.get(keyword)访问。推荐使用get方法,如果查询的关键字不存在会抛出’None’。

dicta = {'name': 'csdn', 'website': 'www.csdn.net', 'age': 13}
dicth['name']  #直接访问方式
'csdn'
dicth['balance']   #如果关键字不存,会出异常提示。
Traceback (most recent call last):
  File "", line 1, in 
    dicth['balance']
KeyError: 'balance'
dicth.get('age')   #通过字典的自有方法get查询。
13
dicth.get('address','住在拉萨')		#通过字典的自有get方法,如果关键字不存在,可返回自定义异常提示。推荐使用。
'住在拉萨'
3.1.2 字典的关键字、值、键值对查询。
  • 查询字典的关键字,可以使用字典的keys方法。
  • 查询字典的值,可以使用字典的vauls方法。
  • 查询字典的键值对,可以使用字典的items方法。
dicth
{'name': 'csdn', 'website': 'www.csdn.net', 'age': 13}
dicth.keys()
dict_keys(['name', 'website', 'age'])
dicth.values()
dict_values(['csdn', 'www.csdn.net', 13])
dich.items()
dict_items([('address', 'jjjjjj'), ('name', 'hxy'), ('age', 13), ('balance', 3456.123)])
3.2 字典的元素添加 3.2.1 通过update方法添加键值对

通过字典的update方法添加数据,被添加数据的字典补充至调用update方法的字典中去,如果存在关键字冲突,以被添加数据为准。dicta.update(dictb),dicta为调用update方法的字典,dictb为被添加数据的字典,关键字存在冲突时,以dictb中的关键字对应的值 为准。

dictj = {'张小小': '中国人', '王老二': '中国人', '李坚三': '中国人', '赵怀东': '中国人'}
dictk ={'张小小':'america','赵怀东':'russia'}
dictj.update(dictk)
dictj
{'张小小': 'america', '王老二': '中国人', '李坚三': '中国人', '赵怀东': 'russia'}
3.2.2 通过对关键字赋值添加键值对

这个与下面要说的字典的修改差不多。对字典的关键字对应的值修改,关键字的有无会影响结果,所以在对字典的值修改最好先检查一下字典中有无对应的关键字,如果关键字不存在,将会新增一个键值对。示例:

dictj = {'张小小': 'america', '王老二': '中国人', '李坚三': '中国人', '赵怀东': 'russia'}
dictj['王老二'] = 'HONGKONG'  #修改关键字'王老二'的值为'HONGKONG'.
dictj
{'张小小': 'america', '王老二': 'HONGKONG', '李坚三': '中国人', '赵怀东': 'russia'}
dictj['张小小小']='AOMEN'      #新增键值对。
dictj
{'张小小': 'america', '王老二': 'HONGKONG', '李坚三': '中国人', '赵怀东': 'russia', '张小小小': 'AOMEN'}
3.3 字典的键值对修改

对字典的关键字对应的值修改,关键字的有无会影响结果,所以在对字典的值修改最好先检查一下字典中有无对应的关键字,如果关键字不存在,将会新增一个键值对。

3.4字典的删除 3.4.1 del方法

这是python系统内置方法。

dictj = {'张小小': 'america', '王老二': 'HONGKONG', '李坚三': '中国人', '赵怀东': 'russia', '张小小小': 'AOMEN'}
del dictj['王老二']
dictj
{'张小小': 'america', '李坚三': '中国人', '赵怀东': 'russia', '张小小小': 'AOMEN'}
3.4.2 dict.pop()方法

这是字典的自有方法,与列表不同的是,字典pop方法需要指定关键字。每弹出一个关键字时会返回当前关键字对应的值。示例:

dicth = {'name': 'csdn', 'website': 'www.csdn.net', 'age': 13, '张小小': '中国人', '王老二': '中国人', '李坚三': '中国人', '赵怀东': '中国人'}
dicth.pop('name')
'csdn'
dicth
{'website': 'www.csdn.net', 'age': 13, '张小小': '中国人', '王老二': '中国人', '李坚三': '中国人', '赵怀东': '中国人'}
dich.pop('weesite')
Traceback (most recent call last):
  File "", line 1, in 
    dich.pop('weesite')
KeyError: 'weesite'
3.4.3 dict.popitem()方法

与pop类似,这也是字典的自有方法,每次调用都会从字典最后的键值对弹起。调用一次即弹出一个元组,里面为关键字,值对应的信息。示例

dictb = {'name': 'csdn', 'website': 'www.csdn.net', 'age': 13, 'balance': 29999.222}
dictb.popitem()
('balance', 29999.222)
dictb
{'name': 'csdn', 'website': 'www.csdn.net', 'age': 13}
dictb.popitem()
('age', 13)
dictb
{'name': 'csdn', 'website': 'www.csdn.net'}
3.4.4 dict.clear()方法

作为字典的自有方法,clear清除所有的键值对。返回一个空字典,相应的也可以手动清空字典。示例:

dictb = {'name': 'csdn', 'website': 'www.csdn.net'}
dictc = {'name': 'csdn', 'website': 'www.csdn.net'}
dictb.clear()   #调用字典的clear方法。
dictb
{}
dictc= {}			#手动清空dictc。
dictc
{}
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017605.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号