[Python3]Dictionary(字典)

概述

Dictionnary(字典)是Python最常用的数据类型,它使用方括号{}来标识,其元素为key-value对应,key与value用冒号:分割开,下面我们看一个基本的字典创建示例:

dict = {u"key1": u"value1", u"key2": u"value2"}

或是这样创建:

dict = {12: u"博客园", u"cnblog": u"谷白"}

内置函数

Python中常用的内置函数有:

  • len
    用于计算字典元素的个数, 即key的总数
  • str
    输出字典,即以可打印的字符串输出字典
  • type
    返回变量的类型

下面我们一起看看上述三个函数如何应用于字典的实例代码:

# -*- coding:utf-8 -*-

__author__ = u‘谷白‘

if __name__ == "__main__":
    # 字典基本示例
    dict = {u"博客园": u"cnblog", u"谷白": u"Python3"}    

    # 计算字典的长度
    print(len(dict))    

    # 以字符方式输出字典,即将字典转换成字符串
    str_d = str(dict)
    print(str_d)
    print(dict)    

    # 判断类型
    print(type(dict)) # 字典类型
    print(type(str_d)) # 字符串str类型

执行结果如下:

2
{‘博客园‘: ‘cnblog‘, ‘谷白‘: ‘Python3‘}
{‘博客园‘: ‘cnblog‘, ‘谷白‘: ‘Python3‘}
<class ‘dict‘>
<class ‘str‘>

字典方法

在python中,有大量的方法用于字典的处理,下面我们看看示例:

  • clear
    清空字典
  • copy
    复制字典
  • fromkeys
    以序列作为kye创建一个新字典,value为所有键对应的初始值
  • get
    返回指定key的value,如果key不存在,则返回默认值
  • in
    判断key是否存在,是则返回True,否则返回False
  • items
    返回可遍历的的元组,元组的元素为(key,value)形式
  • keys
    返回字典的所有key
  • setdefault
    如果key存在,则返回其对应的value,否则将该key和默认值插入到字典中,并返回默认值
  • update
    更新字典
  • values
    返回字典的所有value值

下面我们一起看看上述方法的实际应用:

# -*- coding:utf-8 -*-

__author__ = u‘谷白‘

if __name__ == "__main__":
    print(u"字典方法应用示例")

    dict_demo = {u"博客园": u"cnblog", u"谷白": u"Python3"}
    tup1 = [1, 2, 3, 4]    

    # copy复制字典
    dict_cp = dict_demo.copy()
    print(dict_demo)
    print(dict_cp)    

    # fromkeys创建字典
    dict_new = dict.fromkeys(tup1, u"value")
    print(dict_new)    

    # get获取指定key的value
    value1 = dict_demo.get(u"博客园", u"我是默认值")
    value2 = dict_demo.get(u"Python3", u"我是默认值")
    print(value1)
    print(value2)    

    # in, 判断key是否存在
    key = u"博客园"
    result1 = key in dict_demo
    result2 = key in dict_new
    print(result1)
    print(result2)    

    # items, 以元组形式返回字典所有的(key, value)
    items = dict_demo.items()
    print(items)    

    # keys 以列表形式返回字典所有的key
    keys = dict_demo.keys()
    print(keys)    

    # setdefault, 如果key存在,则返回其对应的value,
    # 否则将该key和默认值插入到字典中,并返回默认值
    set_result1 = dict_demo.setdefault(u"博客园", u"设置值")
    set_result2 = dict_demo.setdefault(u"我是key", u"我是value")
    print(set_result1)
    print(set_result2)
    print(dict_demo)    

    # update, 更新字典
    dict_demo.update(dict_new)
    print(dict_demo)    

    # values,返回字典中所有的value
    values = dict_demo.values()
    print(values)

具体的运行结果,请自行运行查看。

遍历、修改、删除

下面我们一起看看如何对字典进行遍历、修改、删除操作。

# -*- coding:utf-8 -*-

__author__ = u‘谷白‘

if __name__ == "__main__":
    print(u"字典遍历、修改、删除示例")
    dict_demo = {u"博客园": u"cnblog", u"谷白": u"Python3"}    

    # 遍历 方法1
    for (key, value) in dict_demo.items():
        print("%s : %s" % (key, value))    

    # 遍历 方法2
    for key in dict_demo.keys():
        print("%s : %s" % (key, dict_demo[key]))    

    # 修改
    dict_demo[u"ebook"] = u"修改后的值"
    print(dict_demo)    

    # 删除指定元素
    del dict_demo[u"ebook"]
    print(dict_demo)    

    # 清空字典
    dict_demo.clear()
    print(dict_demo)

小结

  • 字典的value可以存储任何类型Python对象,即可以是标准的类型,也可以是我们自定义的类型,但key不可以。
  • 字典的key是唯一的,不可以重复
  • 字典的key可以是数字、字符串甚至元组,但不可以用列表
时间: 2024-10-07 04:18:52

[Python3]Dictionary(字典)的相关文章

dictionary(字典)

dictionary(字典):   字典对象   字典是一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 1.      dic={"name":"sang","age":22,"hobby":"game"}             $字典有2大特点:*(1)无序,(2)key键唯一 print(dic) 2.       dictionary的创建  

C#的Dictionary字典

Dictionary Dictionary可以取代Hashtable了; 有一种新的遍历方式 foreach(KeyValuePair <int,string> kv in dic){} dictionary练习 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Dictionary字典 { c

上传程序Dictionary 字典 哈希--多读一写锁ReaderWriterLock

//上传程序Dictionary 字典 哈希 /// <summary> /// 车辆控制信息哈斯表,Key是终端号,Value是车辆信息控制对象 /// </summary> private Dictionary<string, MsgObject> _MsgObjectHashMap = new Dictionary<string, MsgObject>(); public Dictionary<string, MsgObject> MsgO

VBS使用Scripting.Dictionary字典对象

VBS使用Scripting.Dictionary字典对象 标题: VBS使用Scripting.Dictionary字典对象作者: Demon链接: http://demon.tw/copy-paste/vbs-scripting-dictionary-object.html版权: 本博客的所有文章,都遵守"署名-非商业性使用-相同方式共享 2.5 中国大陆"协议条款. Scripting.Dictionary是个很有用的组件,其创建了类似于Key索引对应Value值的字典对象,并且

C#中的Dictionary字典类介绍

关键字:C# Dictionary 字典 作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html 说明    必须包含名空间System.Collection.Generic     Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)     键必须是唯一的,而值不需要唯一的     键和值都可以是任何类型(比如:string, int, 自定义类型,等等

你能熟练使用Dictionary字典和List列表吗?(转)

命名空间System.Collections.Generic中有两个非常重要,而且常用的泛型集合类,它们分别是Dictionary<TKey,TValue>字典和List<T>列表.Dictionary字典通常用于保存键/值对的数据,而List列表通中用于保存可通过索引访问的对象的强类型列表.下面来总结一下,用代码来演示怎么初始化,增加,修改,删除和遍历元素. Dictionary<TKey,TValue>字典 代码如下: namespace DictionaryDem

.Net学习笔记----2015-06-25(File类的读写文件、List泛型集合、装箱和拆箱、Dictionary字典集合)

File类:静态类,Create Delete Copy Move ,主要用来对数据对文本文件进行读写 File类:缺点:只能读写小文件 读写操作: //byte[] buffer = File.ReadAllBytes(@"C:\Users\Administrator\Desktop\new.txt"); ////将字节数组中的每一个元素都要按照我们指定的编码各式解码成字符串 ////UTF-8 GB2312 GBK ASCII Unicode //string s = Encodi

C# Dictionary 字典

C#中的Dictionary字典类介绍 关键字:C# Dictionary 字典 作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html 说明    必须包含名空间System.Collection.Generic     Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)     键必须是唯一的,而值不需要唯一的     键和值都可以是任何类型(比如:s

Python3.5 字典(Dictionary)

Python 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: d = {key1 : value1, key2 : value2 键必须是唯一的,但值则不必. 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组. dic = {'name':'jin','age':18,'sex':'male'} print(dic)#{'name':