1. 字典的定义

  字典由多个键及其对应的值构成(我们也把键/值对称为项)。键是唯一的,值不唯一。键可以是数字、字符串甚至是元组。

2. 字典的创建

  (1)

phonebook = {"Alice": "", "Beth": "", "Cecil": ""}

    名称为键,电话号码为值。每个键和它的值之间用冒号隔开,项之间用逗号隔开,而整个字典是由一对大括号括起来。空字典(不包含任何项)由两个大括号组成。

  (2) 使用dict函数

      

d = dict(name = "Gumby", age = 42)
print d["name"]

3. 字典的基本操作

  (1) len(d)

     返回d中项(键-值对)的数量

  (2) d[k]

     返回关联到键K上的值

  (3) d[k] = v

     将值v关联到键k上

  (4) del d[k]

      删除键为k的项(键-值对)

  (5) k in d

     检查d中是否含有键为k的项

4. 字典的方法

  (1) clear()

     清空字典中所有的项,无返回值

  (2) copy()

      返回一个具有相同键-值对的新字典  

  (3)get(key[, default])

     获取对应键的值,如果键不存在,则返回None

  (4)has_key(key)

      检查字段中是否存在给出的键

  (5)keys()

     将字典中的键以列表的形式返回

  (6)iterkeys()

     返回针对键的迭代器

  (7)values()

     将字典中的值以列表的形式返回

  (8)itervalues()

     返回针对值的迭代器

5. 示例

#coding:utf-8

#清除字典中所有的项
d = {"name" : "Lucy", "age" : 25}
print d
d.clear()
print d #copy方法
x = {"username" : "admin", "machines" : ["foo", "bar", "baz"]}
y = x.copy()
y["username"] = "mlh"
y["machines"].remove("bar")
print y
print x #get方法
print x.get("kk") #has_key方法
print x.has_key("username") #keys方法
print x.keys() #iterkeys方法
it = x.iterkeys()
try:
while True:
val = it.next()
print val
except StopIteration:
pass #values方法
print x.values() #itervalues方法
it = x.itervalues()
try:
while True:
val = it.next()
print val
except StopIteration:
pass

  运行结果:

    

       

python_字典的更多相关文章

  1. Python_字典及其操作

    字典 概念 字典,Python基础数据类型之一,{}以键值对的形式存储数据. 以key : value 形式存储数据.例如,name 为 key,Laonanhai 为 value. dic = {' ...

  2. 零基础学习python_字典(25-26课)

    今天学到后面的知识,突然发现之前学习到的字典列表啥的都有点忘了,打算补一下之前学到的字典,到时候你看的时候,字符串.列表.字典.元祖这几个没啥顺序,刚开始学的时候了解下方法,当然你可以死记硬背下,后面 ...

  3. python_字典 学习

    一.创建字典(关联数组或hash表) 字典由键(key)和对应的值(values)组成. 代码: dic = { ‘ name‘:1 , ‘ zhang ’:2 , ‘ age‘ :3 , ‘ sex ...

  4. python_字典的使用

    '''info = { "stu1":"Lie","stu2":"Weite","stu3":&qu ...

  5. python_字典(dict)

    dict 一.结构: info = { "key":"value", "key":"value" } print(inf ...

  6. python_字典列表嵌套的排序问题

    上一篇我们聊到python 字典和列表嵌套用法,这次我们聊聊字典和列表嵌套中的排序问题,这个在python基础中不会提到,但实际经常运用,面试中也喜欢问,我们娓娓道来. 在说组合排序之前,先来看看排序 ...

  7. python_字典 list_4

    >>> import string>>> import random #组合字符>>> x=string.ascii_letters+string ...

  8. 【DG】Oracle_Data_Guard官方直译

    [DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍   Oracle Data Guard概念和管理10g版本2   Oracle Data Guard ...

  9. DVWA实验之Brute Force(暴力破解)- Low

    DVWA实验之Brute Force-暴力破解- Low     这里开始DVWA的相关实验~   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...

随机推荐

  1. HDU 1069 Monkey and Banana(二维偏序LIS的应用)

    ---恢复内容开始--- Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  2. Jenkins学习记录

    参考资料 官方文档 用MSBuild和Jenkins搭建持续集成环境(1) 用MSBuild和Jenkins搭建持续集成环境(2) 构建基于Jenkins + Github的持续集成环境 Jenkin ...

  3. ps命令交叉编译

    busybox中的ps命令是针对于嵌入式的,其中一些选项并不完整.因此需要将源码下载下来,进行交叉编译 官方下载地址 github下载地址 含有configure,我在此使用的是这个源码包,官方的包在 ...

  4. ecshop中$user对象

    ecshop中$user对象 2011-10-01 18:41:23|  分类: ECSHOP |  标签:ecshop  $user  对象  |举报|字号 订阅 http://blog.163.c ...

  5. 20145225 实验四《Andoid开发基础》

    实验内容 搭建Android环境 运行Android 修改代码,能输出学号 实验步骤 安装Android Studio 安装Android的SDK 运行Andriod Studio并在模拟手机上显示自 ...

  6. 统计学习方法笔记 -- Boosting方法

    AdaBoost算法 基本思想是,对于一个复杂的问题,单独用一个分类算法判断比较困难,那么我们就用一组分类器来进行综合判断,得到结果,"三个臭皮匠顶一个诸葛亮" 专业的说法, 强可 ...

  7. Yii2 捕获错误日志

    在技术开发中,捕获程序框架错误,是非常必要的一件事情,我们公司使用Yii2框架,简单说下Yii2的错误捕获处理 Yii2 web应用 1 配置如下 其中errorHandler就是错误处理配置,执行E ...

  8. Inno Setup入门(十)——操作注册表 & 自启程序

    http://379910987.blog.163.com/blog/static/3352379720110259414788/ 有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过 ...

  9. C、VDD、VSS、 VEE 和VPP的区别

    http://www.cnblogs.com/crazybingo/archive/2010/05/14/1735802.html C.VDD.VSS. VEE 和VPP的区别 在电子电路中,常可以看 ...

  10. Bootstrap 输入框和导航组件

    一.输入框组件 //在左侧添加文字 <div class="input-group"> <span class="input-group-addon&q ...