python字典的常用操作方法小结

Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串、数字、元组等其他容器模型。本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建、访问、删除、其它操作等,需要的朋友可以参考下。

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:

1.创建字典

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
技巧:
字典中包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}
字典中包含字典:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}
注意:
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。

2.访问字典里的值

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> print(dict['ob1'])
computer
如果用字典里没有的键访问数据,会输出错误如下:
>>> print(dict['ob4'])
Traceback (most recent call last):
 File "<pyshell#110>", line 1, in <module>
  print(dict['ob4'])

访问所有值
>>> dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> for key in dict1:
  print(key,dict1[key])
ob3 printer
ob2 mouse
ob1 computer

3.修改字典

>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> dict['ob1']='book'
>>> print(dict)
{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'book'}

4.删除字典

能删单一的元素
>>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> del dict['ob1']
>>> print(dict)
{'ob3': 'printer', 'ob2': 'mouse'}

删除字典中所有元素
>>> dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}
>>> dict1.clear()
>>> print(dict1)
{}

删除整个字典,删除后访问字典会抛出异常。
>>> dict1 = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}
>>> del dict1
>>> print(dict1)
Traceback (most recent call last):
 File "<pyshell#121>", line 1, in <module>
  print(dict1)
NameError: name 'dict1' is not defined

5.更新字典

update()方法可以用来将一个字典的内容添加到另外一个字典中:
>>> dict1 = {'ob1':'computer', 'ob2':'mouse'}
>>> dict2={'ob3':'printer'}
>>> dict1.update(dict2)
>>> print(dict1)
{'ob3': 'printer', 'ob2': 'mouse', 'ob1': 'computer'}

6.映射类型相关的函数

>>> dict(x=1, y=2)
{'y': 2, 'x': 1}
>>> dict8 = dict(x=1, y=2)
>>> dict8
{'y': 2, 'x': 1}
>>> dict9 = dict(**dict8)
>>> dict9
{'y': 2, 'x': 1} 

dict9 = dict8.copy()

7.字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
>>> dict1={'ob1':'computer','ob2':'mouse','ob1':'printer'}
>>> print(dict1)
{'ob2': 'mouse', 'ob1': 'printer'}

2)键必须不可变,所以可以用数,字符串或元组充当,用列表就不行
>>> dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}
Traceback (most recent call last):
 File "<pyshell#125>", line 1, in <module>
  dict1 = {['ob1']:'computer', 'ob2':'mouse', 'ob3':'printer'}
TypeError: unhashable type: 'list'

8.字典内置函数&方法

Python字典包含了以下内置函数:
1、cmp(dict1, dict2):比较两个字典元素。(python3后不可用)
2、len(dict):计算字典元素个数,即键的总数。
3、str(dict):输出字典可打印的字符串。
4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:
1、radiansdict.clear():删除字典内所有元素
2、radiansdict.copy():返回一个字典的浅复制
3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
7、radiansdict.keys():以列表返回一个字典所有的键
8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
10、radiansdict.values():以列表返回字典中的所有值

以上这篇python字典的常用操作方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2016-05-14

Python 字典dict使用介绍

Python字典的创建 方法一: >>> blank_dict = {} >>> product_dict = {'MAC':8000,'Iphone':5000, 'ipad':4000, 'mp3': 300} >>> product_dict {'ipad': 4000, 'MAC': 8000, 'Iphone': 5000, 'mp3': 300} >>> blank_dict,product_dict ({}, {'ipa

Python 字典(Dictionary)操作详解

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 复制代码 代码如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 也可如此创建字典: 复制代码 代码如下: dict1 = { 'abc': 456 };dict2 = { 'abc': 123, 98.6: 37 }; 注意:每个键与值用冒号隔开

python dict 字典 以及 赋值 引用的一些实例(详解)

最近在做一个很大的数据库方面的东东,要用到根据数值来查找,于是想到了python中的字典,平时没用过dict这个东东 用的最多的还是 list 和 tuple (网上查 用法一大堆) 看了一下创建字典的方法: 方法1: dict = {'name': 'earth', 'port': 80} 方法2: fdict = dict((['x', 1], ['y', 2])) 方法3: ddict = {}.fromkeys(('x', 'y'), -1) 都实验了一下这些方法,发现不好用,做不出来自

python中的数组赋值与拷贝的区别详解

具体的注解我已经写在了程序里面:通俗的解释了python里面的浅拷贝与深拷贝的不同,请看程序. # -*- coding: utf-8 -*- import numpy as np import copy as cp import matplotlib.pyplot as plt import time import math fig = plt.figure() ax = fig.add_subplot(241) # 定义一个多维数组 x = np.array([[1, 2, 3], [4,

Python数据类型之列表和元组的方法实例详解

引言 我们前面的文章介绍了数字和字符串,比如我计算今天一天的开销花了多少钱我可以用数字来表示,如果是整形用 int ,如果是小数用 float ,如果你想记录某件东西花了多少钱,应该使用 str 字符串型,如果你想记录表示所有开销的物品名称,你应该用什么表示呢? 可能有人会想到我可以用一个较长的字符串表示,把所有开销物品名称写进去,但是问题来了,如果你发现你记录错误了,想删除掉某件物品的名称,那你是不是要在这个长字符串中去查找到,然后删除,这样虽然可行,那是不是比较麻烦呢. 这种情况下,你是不是

Python中zip()函数的解释和可视化(实例详解)

zip()的作用 先看一下语法: zip(iter1 [,iter2 [...]]) -> zip object Python的内置help()模块提供了一个简短但又有些令人困惑的解释: 返回一个元组迭代器,其中第i个元组包含每个参数序列或可迭代对象中的第i个元素.当最短的可迭代输入耗尽时,迭代器将停止.使用单个可迭代参数,它将返回1元组的迭代器.没有参数,它将返回一个空的迭代器. 与往常一样,当您精通更一般的计算机科学和Python概念时,此模块非常有用.但是,对于初学者来说,这段话只会引发更

C++ 中类的拷贝、赋值、销毁的实例详解

C++ 中类的拷贝.赋值.销毁的实例详解 本篇文章我们一共讲解一下几个知识点: 类的拷贝构造函数. 类的拷贝赋值运算符. 类的析构. 好了one by one 如果我们没有定义类的拷贝构造函数的话,那么编译器会为我们合成默认拷贝构造函数----合成拷贝构造函数. 和成拷贝构造函数的操作是将其参数的各个成员拷贝到正在创建的对象中去,每个成员的类型决定了他是如何被拷贝的:对类类型的成员,会使用其拷贝构造函数,内置类型的成员则是直接拷贝,虽然我们不能直接拷贝一个数组,但是合成拷贝构造函数会逐个的拷贝一

python里使用正则的findall函数的实例详解

python里使用正则的findall函数的实例详解 在前面学习了正则的search()函数,这个函数可以找到一个匹配的字符串返回,但是想找到所有匹配的字符串返回,怎么办呢?其实得使用findall()函数.如下例子: #python 3. 6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # import re text = 'abbaaabbbbaaaaa' pattern = 'ab' for match in r

python下读取公私钥做加解密实例详解

python下读取公私钥做加解密实例详解 在RSA有一种应用模式是公钥加密,私钥解密(另一种是私钥签名,公钥验签).下面是Python下的应用举例. 假设我有一个公钥文件,rsa_pub.pem, 我要读取这个公钥并用它来加密. from M2Crypto import RSA,BIO fp = file('rsa_pub.pem','rb'); pub_key_str = fp.read(); fp.close(); mb = BIO.MemoryBuffer(pub_key_str); pu

对Python中TKinter模块中的Label组件实例详解

Python2.7.4 OS-W7x86 1. 简介 Label用于在指定的窗口中显示文本和图像.最终呈现出的Label是由背景和前景叠加构成的内容. Label组件定义函数:Label(master=None, cnf={}, **kw) 其中,kw参数是用来自定义lable组件的键值对. 2. 背景自定义 背景的话,有三部分构成:内容区+填充区+边框 <1>内容区参数有:width,length用于指定区域大小,如果显示前景内容是文本,则以单个字符大小为单位:如果显示的是图像,则以像素为单

对python中url参数编码与解码的实例详解

一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, safe='/', encoding=None, errors=None)方法. 对json格式的参数名和值编码,用urllib.parse包下的 urlencode(query, doseq=False, safe='', encoding=None, errors=None, quote_via=qu

Python字典的概念及常见应用实例详解

本文实例讲述了Python字典的概念及常见应用.分享给大家供大家参考,具体如下: 字典的介绍 字典的概念 字典的创建 1. 我们可以通过{}.dict()来创建字典对象. 2. 通过 zip()创建字典对象 3. 通过 fromkeys 创建值为空的字典 字典元素的访问 1. 通过 [键] 获得"值".若键不存在,则抛出异常. 2. 通过 get()方法获得"值".推荐使用.优点是:指定键不存在,返回 None:也可以设 3. 列出所有的键值对 4. 列出所有的键,