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. UVAlive3662 Another Minimum Spanning Tree 莫队算法

    就是莫队的模板题 /* Memory: 0 KB Time: 1663 MS Language: C++11 4.8.2 Result: Accepted */ #include<cstdio& ...

  2. click事件的参数化

    Browser("XXX").Page("XXX").Frame("iframe_main").WebElement("TB-50 ...

  3. 中文Win7下成功安装calabash-android步骤

    Calabash-android是支持android的UI自动化测试框架,网上看见很多同学说,安装calabash比较费劲,特别是Windows下安装,也没有一个详细的安装手册可供参考.正好,今天在W ...

  4. 用js将毫秒时间转成正常时间

    1. 将毫秒时间转成正常时间 //#region 将毫秒转换成正常的日期 function getDate(time) { var date = new Date(parseInt(time)); v ...

  5. STM32之CAN ---CAN ID过滤器分析

      1 前言 在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的.因此,发送者以广播的形式把报文发送给所有的接收者.节点在接收报文时,根据标识符(CAN ID)的值决定软件是否需要该 ...

  6. CentOS上安装MyCat-MySQL

    1.安装JDK,要求JDK7以上. 2.下载MyCat,地址. 3.解压Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz,到usr/local/ ...

  7. ACM2123(一个简单的问题)

    一个简单的问题 问题说明 在这个问题中,你需要做N * N的乘法表,就像样品.第第i 行和j 个列中的元素i和j的乘积(乘积).   输入 输入的第一行是一个整数C中表示测试用例的数量,然后C的测试用 ...

  8. HW5.28

    public class Solution { public static void main(String[] args) { System.out.printf("%s\t%s\n&qu ...

  9. Ubuntu下部署SVN+SVNManager

    本文参考了一下博客,特此感谢: 灰烬之灵    一米阳光做IT.测试 环境描述:ubuntu 13.04 1.先创建svn组和svn用户: sudo addgroup svnsudo useradd ...

  10. 函数 stat() 详解

    先看看MSDN的解釋: stat(): Get status information on a file. Parameters:     path:  pointer to a string con ...