1.字典定义:

  字典和列表类似 只是字典标示符用的是字符而列表用的是0开始的数字,字典中每个元素对应一个值 这个元素叫做键(key)键值不能重复 value(值)可以重复

2.字典格式:

格式一:

[Name]={‘key1’:’value1’,’key2’:’value2’,………}

例:

>>>dictionary={'key1':'value1','key2':'value2','key3':'value3'}

>>>print (dictionary)

{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}

格式二:

[Name]={}

Name[‘key1’]=’value1’

Name[‘key2’]=’value2’

………

例:

>>> dictionary={}

>>> dictionary['key1']='value1'

>>> dictionary['key2']='value2'

>>> dictionary['key3']='value3'

>>> print (dictionary)

{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}

三、字典的方法

dict.keys() //查看字典中的键

        >>> dictionary.keys()
['key3', 'key2', 'key1']

dict.get() //获取字典中指定键的值

        >>> dictionary={'key1':'value1','key2':'value2','key3':'value3'}
>>> dictionary.get("key1")
value1

dict.values()  //查看字典中所有的值

        >>> dictionary.values()
['value3', 'value2', 'value1']

dict.items() //获取字典中所有键、值 以列表的方式输出 其中对应的键、值通过元组进行组合

        #-*- coding:utf-8 -*-
#/usr/bin/env python
>>> dictionary={'key1':'value1','key2':'value2','key3':'value3'}
>>> dictionary.items()
[('key3', 'value3'), ('key2', 'value2'), ('key1', 'value1')]

dict.has_key //判断key是否存在如果存在则返回True 否则则返回False

        >>> dictionary={'key1':'value1','key2':'value2','key3':'value3'}
>>> dictionary.has_key('key1')
True
>>> dictionary.has_key('alan')
False

dict.pop('key') //删除并返回key对应的值

        >>> dictionary={'key1':'value1','key2':'value2','key3':'value3','key4':'value4'}
>>> dictionary.pop('key1')
'value1'
>>> dictionary
{'key3': 'value3', 'key2': 'value2', 'key4': 'value4'}

dict.popitem() //随机删除并以元组的方式返回字典中的任意一个键值对

        >>> dictionary={'key1':'value1','key2':'value2','key3':'value3','key4':'value5'}
>>> dictionary.popitem()
('key3', 'value3')
>>> dictionary
{'key2': 'value2', 'key1': 'value1', 'key4': 'value5'}

dict['key'] = value //如果不存在键值则创建 如果存在则覆盖

        >>> dictionary={'key1':'value1','key2':'value2','key3':'value3','key4':'value4'}
>>> dictionary['key1']='alan'
>>> dictionary
{'key3': 'value3', 'key2': 'value2', 'key1': 'alan', 'key4': 'value4'}

dict.copy() //复制字典 在内存中重新开辟一块空间

        >>> dictionary={'key2': 'value2', 'key4': 'value4'}
>>> test = dictionary.copy()
>>> test
{'key2': 'value2', 'key4': 'value4'}
#查看test对应的内存地址
>>> id(test)
45940000
#查看dictionary对应的内存地址
>>> id(dictionary)
45859440

注:
            如果直接赋值 test = dictionary 那么他们将共享同一份内存数据

            >>> test = dictionary
>>> id(test)
45859440
>>> id(dictionary)
45859440

Python 基础【第六篇】字典的更多相关文章

  1. python基础-第六篇-6.2模块

    python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ ...

  2. Python学习第六篇——字典中的键和值

    favorite_language ={ "jen":"python", "sarah":"c", "edwa ...

  3. python基础-第六篇-6.1生成器与迭代器

    迭代器 特点: 访问者不需要关心迭代器内部的结构,仅需通过next()方法不断去取下一个内容 不能随机访问集合中的某个值 ,只能从头到尾依次访问 访问到一半时不能往回退 便于循环比较大的数据集合,节省 ...

  4. python基础-第六篇-6.4模块混战

    我们之前接触多的编程方式就是函数式编程,而且喜欢就一个文件里写完所有的程序代码,这样做在前期感觉还不错,不过一旦你的程序变复杂,在易读性和排错方面就感觉好吃力,功能界限不明显,那今天我们就来讲讲怎么用 ...

  5. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  6. Python基础知识(六)------小数据池,集合,深浅拷贝

    Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: ​ 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : ​ 一个文 ...

  7. NHibernate 组件基础 (第六篇)

    NHibernate 组件基础 (第六篇) 一.组件简介 组件(Component)可以理解为被一个对象所包含的对象而持久化,而并非一个实体.简单说来,假如数据库有FirstName,LastName ...

  8. Day2 - Python基础2 列表、字典、集合

    Python之路,Day2 - Python基础2   本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...

  9. python基础之列表、字典、元祖等 (二)

    一.作用域 if 1==1: name = 'weibinf' print name 下面的结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 二.三元运算 result = 值1 ...

  10. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

随机推荐

  1. sonar之安装篇

    sonar 是一个很好的质量度量平台,安装方式有很多种.下面我教大家使用j2ee 容器的方式安装,我们使用tomcat 1.准备: 1.1 环境redhat linux1.2 下载sonar 从htt ...

  2. 430单片机之定时器A功能的大致介绍

    总的来说,430单片机一共有三个定时器,定时器A,定时器B,还有就是看门狗定时器,这里我们主要是讨论430单片机的定时器A的功能,定时器A的功能是我目前见过最厉害的定时器,视频上说用好定时器A的话,对 ...

  3. 建立第一个OpenGL工程(GLUT)

    本文参考了<计算机图形学>(Donald Hearn著)的第2.9节. OpenGL基本函数库用来描述图元.属性.几何变换.观察变换和进行许多其他的操作.OpenGL被设计成与硬件无关,因 ...

  4. FZU 2125 简单的等式

    Problem Description 现在有一个等式如下:x^2+s(x,m)x-n=0.其中s(x,m)表示把x写成m进制时,每个位数相加的和.现在,在给定n,m的情况下,求出满足等式的最小的正整 ...

  5. SQL Server: Difference Between Locking, Blocking and Dead Locking

    Like ever, today’s article of Pinal Dave was interesting and informative. After, our mutual discussi ...

  6. uvalive 3263 That Nice Euler Circuit

    题意:平面上有一个包含n个端点的一笔画,第n个端点总是和第一个端点重合,因此团史一条闭合曲线.组成一笔画的线段可以相交,但是不会部分重叠.求这些线段将平面分成多少部分(包括封闭区域和无限大区域). 分 ...

  7. 浅析Netty的异步事件驱动(一)

    本篇文章着重于浅析一下Netty的事件处理流程,Netty版本为netty-3.6.6.Final. Netty定义了非常丰富的事件类型,代表了网络交互的各个阶段.并且当各个阶段发生时,触发相应的事件 ...

  8. 关于Java Collections API您不知道的5件事,第2部分

    注意可变对象 java.util 中的 Collections 类旨在通过取代数组提高 Java 性能.如您在 第 1 部分 中了解到的,它们也是多变的,能够以各种方 式定制和扩展,帮助实现优质.简洁 ...

  9. Excel里的单元格提行

    最近老板发了个表,遇到了个小知识点,收藏以后有用!拿来学学 如下,是属于单元格.怎么提行? 直接,空格或space,都无法解决!...... 解决办法:Alt + Enter 成功! 参考: http ...

  10. C/C++语言中#的神奇作用:把宏参数字符串化/贴合宏参数

    宏中"#"和"##"的用法 一.一般用法   我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. #define STR(s)      #s # ...