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. C# lazy加载

    转自http://www.cnblogs.com/yunfeifei/p/3907726.html 在.NET4.0中,可以使用Lazy<T> 来实现对象的延迟初始化,从而优化系统的性能. ...

  2. MySql数据库的导入_命令工具

    一.如何导入别人已经建好的数据库 create database goods use goods source E:\goods.sql (绝对路径) 这样就导入了指定的数据库到本机电脑 二.任何数据 ...

  3. sql server 查询字符串指定字符出现的次数

    这里提取指定符串"A"在字段中的出现次数SQL为: select len(keyword)-len(replace(keyword, 'A', ' ')) from 表 原理:用r ...

  4. JavaScript高级程序设计(六):关键字 void 和 delete 使用

    一.void 1.概述:JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. 2.语法:JavaScript void (express)   或则 JavaScri ...

  5. SAX方式解析XML文件实例

    books.XML文件: 书籍book.java实体类: public class Book { private String id; private String name; private Str ...

  6. KMP入门(匹配)

    Description Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M ...

  7. c++ 继承学习笔记

    三大继承原则(由我杜撰) 基类的私有成员被继承后不可见(优先级最高) 公有继承不改变基类成员属性 保护继承(私有继承)把基类成员变为保护成员(私有成员)

  8. NSDate与 NSString 、long long类型的相互转化

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3560280.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  9. LevelDb原理剖析

    在说LevelDb之前,先认识两位大牛,Jeff Dean和Sanjay Ghemawat,这两位是Google公司重量级的工程师,为数甚少的Google Fellow之二. Jeff Dean其人: ...

  10. 使用json方式实现省市两级下拉级联菜单[原创]

    本文为博主原创,转载请注明. 首先看一下实现后的效果图: 当然,要完成这个实验,mysql必须与数据库连接,这里选用navicat for mysql这款软件,它与mysql的契合度是很高的,配置环境 ...