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. 《Python基础教程(第二版)》学习笔记 -> 第四章 字典

    字典是Python中唯一内建的映射类型. 字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里.键可以是数字.字符串甚至是元组. 字典的使用 某些情况下,字典比列表更加适用: 表征游戏棋盘 ...

  2. python 连接oracle 数据库

    我们在测试中可能需要对oracle 数据库进行操纵,比如这样一个场景,在往oracle 里面插数据的同时,另一个工具从里面读,如何能保证读出来的数据是有顺序的,即:先插入进去的先读出来,根据这个场景们 ...

  3. 房租管理小软件(六):通用功能包括时间,效验,MD5加密,XML 操作

    1.时间相关 public static DateTime getNow() { MyFZDataContext dataContext = MyFZDataContext.getDataContex ...

  4. codeforces 617B Chocolate

    题意: 在给定01串中,问能分割成多少个子串?每个子串只有一个1. dp #include<iostream> #include<string> #include<alg ...

  5. Docker系列(九)Kubernetes安装

    环境: A.B两天机器A机器IP:192.169.0.104,B机器IP:192.168.0.102,其中A为Master节点,B为Slave节点 操作系统:Centos7 Master与Slave节 ...

  6. HW7.6

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  7. A Tour of Go Methods

    Go does not have classes. However, you can define methods on struct types. The method receiver appea ...

  8. hdoj 2099 整除的尾数

    整除的尾数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. NOTES : A Model of Gas Exchange for Hyperpolarized Xe(129) Magnetic Resonance of the Lung

    NOTES :  A Model of Gas Exchange for Hyperpolarized Xe(129) Magnetic Resonance of the Lung  背景知识: Ga ...

  10. Android Studio怎么删除项目

    本 新手最近学Android都是用的eclipse.其实个人觉得eclipse不错,可能接触Android不久,倒也不觉得它慢还是怎样.对于 Google的Android studio也是早有耳闻,前 ...