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. SQL Server调优系列进阶篇 - 如何重建数据库索引

    随着数据的数据量的急剧增加,数据库的性能也会明显的有些缓慢这个时候你可以考虑下重建索引或是重新组织索引了. DBCC SHOWCONTIG('表名') 可以查看当前表的索引碎情况. 重建索引 方法一: ...

  2. IOS 高级开发 KVC(二)

    前一篇博客最后介绍了KVC 再json 转模型时遇到一些问题.今天接着来介绍KVC 的其他用法.其实我们在一开始的时候就一直再强调命名的重要性.命名规范是KVC 存活的基础.如果没有这个条件支撑,那么 ...

  3. android测试的相关概念以及单元测试

    1.测试的相关概念  1.根据是否知道源代码分类: 黑盒测试: a - b - c  边值测试    白盒测试: 根据源代码写测试方法 或者 测试用例; 2.根据测试的粒度分类: 方法测试:写完一个方 ...

  4. (poj)1064 Cable master 二分+精度

    题目链接:http://poj.org/problem?id=1064 Description Inhabitants of the Wonderland have decided to hold a ...

  5. Poj 1001 / OpenJudge 2951 Exponentiation

    1.链接地址: http://poj.org/problem?id=1001 http://bailian.openjudge.cn/practice/2951 2.题目: Exponentiatio ...

  6. <<深入Java虚拟机>>-第二章-Java内存区域-学习笔记

    Java运行时内存区域 Java虚拟机在运行Java程序的时候会将它所管理的内存区域划分为多个不同的区域.每个区域都有自己的用途,创建以及销毁的时间.有的随着虚拟机的启动而存在,有的则是依赖用户线程来 ...

  7. mysql与Navicat for MySQL的衔接配置问题【原创】

    首先改一下php的配置文件: 这里主要该两个地方:Cirl + F 查找到mysql.dll 然后去掉前面的";" 然后是修改路径:Cirl + F 查找到extension_di ...

  8. div高度自适应填充剩余部分

    在乐学一百的开发过程中,遇到了一个小乐Fm开发,需要跟百度fm差不多,上边一个条,下边一个条,中间部分填充.但是还不能固定高度,因为屏幕的宽高都不一样...height:100%是不可行的.搜了一圈, ...

  9. tail报错

    在block和index都没有满的情况下,有如下报错: tail -f messages tail:cannot watch 'messages' : No space left on device ...

  10. 【转】使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图)

    第一次写博,没什么经验,主要是把最近自己对Dev的一些研究贴出来大家共同探讨,有不足之处望大家帮忙斧正. WebChartControl是DevExpress控件群下的一个Web图表控件,它使用非常的 ...