http://developer.51cto.com/art/201003/186006.htm

Python编程语言是一款比较容易学习的计算机通用型语言。对于初学者来说,首先需要掌握的就是其中的一些基础应用。比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技巧。

Python字典(Dictionary)是一种映射结构的数据类型,由无序的“键-值对”组成。字典的键必须是不可改变的类型,如:字符串,数字,tuple;值可以为任何Python数据类型。

1、新建Python字典

  1. >>> dict1={} #建立一个空字典
  2. >>> type(dict1)
  3. < type 'dict'>

2、增加Python字典元素:两种方法

  1. >>> dict1['a']=1 #第一种
  2. >>> dict1
  3. {'a': 1}
  4. #第二种:setdefault方法
  5. >>> dict1.setdefault('b',2)
  6. 2
  7. >>> dict1
  8. {'a': 1, 'b': 2}

3、删除Python字典

  1. #删除指定键-值对
  2. >>> dict1
  3. {'a': 1, 'b': 2}
  4. >>> del dict1['a'] #也可以用pop方法,dict1.pop('a')
  5. >>> dict1
  6. {'b': 2}
  7. #清空字典
  8. >>> dict1.clear()
  9. >>> dict1 #字典变为空了
  10. {}
  11. #删除字典对象
  12. >>> del dict1
  13. >>> dict1
  14. Traceback (most recent call last):
  15. File "< interactive input>", line 1, in < module>
  16. NameError: name 'dict1' is not defined

4)对字典的遍历

python 代码
>>> table = {'abc':1, 'def':2, 'ghi':3}  
>>> for key in table.keys():  
    print key, '/t', table[key]  
 
      
abc     1  
ghi     3  
def     2

Python字典嵌套字典与排序

http://muilpin.blog.163.com/blog/static/16538293620113112549775/

背景:计算图形中任意点与点的曼哈顿距离:
x=[1,2,3,4,5,6,7,8,9,2]
y=[2,3,2,5,6,7,2,3,5,5]
n=10
distance=[[0 for j in range(n)]for i in range(n)]

定义二层嵌套字典与二维数组:
result={}
for i in range(n):
    result[str(i)]={}  #定义嵌套字典
另外定义二维数组与字典方式不一样:
n=16
distance=[[0 for j in range(n)]for i in range(n)]

给字典赋值:
for i in range(n):
    for j in range(n):
        distance[i][j]=abs(x[i]-y[j])  #计算曼哈顿距离
        result[str(i)][str(j)]=distance[i][j]

字典按照值(values)排序:
result_sort[i]=[(k,v) for (k,v) in result[str(i)].iteritems()]   #将嵌套中第二维字典的转变成列表
使用列表排序函数sorted()排序:
result_sort[i]=sorted(result_sort[i],key=lambda x:x[1],reverse=False)

Python多维/嵌套字典数据无限遍历

http://www.cnblogs.com/lhj588/archive/2012/05/24/2516046.html

!!Python字典增删操作技巧简述+Python字典嵌套字典与排序的更多相关文章

  1. Python字典增删操作技巧简述

    Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些基础应用.比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技 ...

  2. 飘逸的python - 实现一个pretty函数美丽的输出嵌套字典

    演示样例: d = { "root": { "folder2": { "item2": None, "item1": N ...

  3. python中addict模块,设置和读取嵌套字典

    源码地址:   https://github.com/mewwts/addict/blob/master/README.md

  4. Python中高级变量类型(列表,元组,字典,字符串,公共方法...)

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  5. python高级变量类型(元组,列表,字典, 字符串和重要方法)

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  6. (转载)Python 列表(list)操作

    (转载)http://blog.csdn.net/facevoid/article/details/5338048 创建列表sample_list = ['a',1,('a','b')] Python ...

  7. Python 列表(list)操作

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  8. python sqlite3 数据库操作

    python sqlite3 数据库操作 SQLite3是python的内置模块,是一款非常小巧的嵌入式开源数据库软件. 1. 导入Python SQLite数据库模块 import sqlite3 ...

  9. 『Python题库 - 简答题』 Python中的基本概念 (121道)

    ## 『Python题库 - 简答题』 Python中的基本概念 1. Python和Java.PHP.C.C#.C++等其他语言的对比? 2. 简述解释型和编译型编程语言? 3. 代码中要修改不可变 ...

随机推荐

  1. ios7之后 根据UILabel的文字计算frame的方法

    ios7 新出来的根据label的文字和字体大小来确定label的宽高. 官方的方法是: - (CGRect)boundingRectWithSize:(CGSize)size options:(NS ...

  2. iOS项目里面如何清理缓存

    在正式讲解以前,请先看一下以下图片,在以下这款APP种设有清理缓存,开始我以为很复杂,在弄明白之后,其实就是几句代码就解决了.      在实际项目开发中,我们很多的文件都会缓存在沙盒里面,比如:照片 ...

  3. sql server 2008如何保存Emoji表情

    1.将就的方法已找到,在保存前,Emoji表情字符串进行utf-8编码,然后写入数据表的nvarchar(max)字段,取出时再进行解码即可. c#的写法如下: 写入数据表前编码: string sH ...

  4. FlashBuilder启动时一闪而过

    晚上的时候把项目目录直接剪切走了 早晨就打不开了 去workspace看log  .\workspace\.metadata\.log 发现如下代码!MESSAGE Could not read me ...

  5. 在 Eclipse 中使用 JSHint 检查 JavaScript 代码

    JSHint Home: http://www.jshint.com/ JSHint Options: http://www.jshint.com/options/ JSHint For Eclips ...

  6. What are the differences between small, minor, and major updates?

    Following contents are excerpted from the this website and only used for knowledge sharing:  Install ...

  7. 九度OJ 1534 数组中第K小的数字 -- 二分查找

    题目地址:http://ac.jobdu.com/problem.php?pid=1534 题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[ ...

  8. asp.net弹出框后页面走样

    1.去掉language='javascript' ,问题依旧 2.后面加上Response.Write("<script>document.location=document. ...

  9. libipq —— iptables用户空间数据包排队库

    LIBIPQ(3) NAMElibipq —— iptables用户空间数据包排队库 SYNOPSIS #include <linux/netfilter.h>#include <l ...

  10. 如何使用 require.js ,实现js文件的异步加载,避免网页失去响应,管理模块之间的依赖性,便于代码的编写和维护。

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...