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. 设计模式_Observer_观察者模式

    形象例子: 想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦.观察者 ...

  2. 多线程与网络之JSON和XML数据的解析

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  3. leetcode@ [126] Word Ladder II (BFS + 层次遍历 + DFS)

    https://leetcode.com/problems/word-ladder-ii/ Given two words (beginWord and endWord), and a diction ...

  4. leetcode@ [62/63] Unique Paths II

    class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleG ...

  5. 新浪新闻API接口

    头条 http://api.sina.cn/sinago/list.json?channel=news_toutiao推荐 http://api.sina.cn/sinago/list.json?ch ...

  6. Block的引用循环问题 (ARC & non-ARC)

    2010年WWDC发布iOS4时Apple对Objective-C进行了一次重要的升级:支持Block.说到底这东西就是闭包,其他高级语音例如Java和C++已有支持,第一次使用Block感觉满简单好 ...

  7. lazyload 图片延迟加载

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. js不验证

    给select添加了id,人家默认就有个id,id冲突导致js不验证

  9. (1/18)重学Standford_iOS7开发_iOS概述_课程笔记

    写在前面:上次学习课程对iOS还是一知半解,由于缺乏实践,看公开课的视频有时不能很好地领会知识.带着问题去学习永远是最好的方法,接触一段时间iOS开发以后再来看斯坦福iOS公开课,又会有许多新的发现, ...

  10. Flask 框架下 Jinja2 模板引擎高层 API 类——Environment

    Environment 类版本: 本文所描述的 Environment 类对应于 Jinja2-2.7 版本.   Environment 类功能: Environment 是 Jinja2 中的一个 ...