现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习。

字典:  key --> value的映射关系,字典是无序性的,字典的key是不可变类型的,如int, str, float,tuple...

1.创建字典

(1)第一种方式创造字典,一次给全

>>> user = {'}
>>> user
{', 'id': 1000, 'name': 'scd'}

(2)d[key] = value

>>> user = { }
>>> user['id'] = 1000
>>> user['name'] = 'scd'
>>> user['
>>> user
{', 'id': 1000, 'name': 'scd'}
>>>

(3)d = dict(zip(key, value)),   这里key, value是列表,列表并不是字典的key,字典的key为列表中的某一项

>>> key = ['id', 'name', 'password']
>>> value = [1000, ']
>>> user = dict(zip(key, value))
>>> user
{', 'id': 1000, 'name': 'scd'}
>>>

第2种创建字典的方法经常用到

2.字典遍历

>>> for key in user:
...     print key, ":", user[key]
...
password : 123
id : 1000
name : scd
>>>

经常使用的是创建字典的第(2)种方式和字典的遍历

3.字典方法

(1)has_key 返回True或者False

>>> user = {}
>>> user[
>>> user['name'] = 'scd'
>>> user['
>>> user
{, 'name': 'scd'}
>>> help(user.has_key)
Help on built-in function has_key:

has_key(...)
    D.has_key(k) -> True if D has a key k, else False

>>> user.has_key('id')
True
>>>

(2)items  返回列表

>>> help(user.items)
Help on built-in function items:

items(...)
    D.items() -> list of D's (key, value) pairs, as 2-tuples

>>> user.items()
[('), ('id', 1000), ('name', 'scd')]
>>>

(3)iteritems 返回迭代器对象

>>> help(user.iteritems)
Help on built-in function iteritems:

iteritems(...)
    D.iteritems() -> an iterator over the (key, value) items of D

>>> user.iteritems()
<dictionary-itemiterator object at 0x0348E9F0>
>>>

(4)get 返回字典中的value值,如果不存在,则返回None

>>> help(user.get)
Help on built-in function get:

get(...)
    D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.

>>> user.get('id')
1000
>>> user.get('email')
>>> print user.get('email')
None
>>>

随机推荐

  1. ant打包webservice jar

    <project name="helloworldservice" basedir="." default="deploy"> ...

  2. RPC原理详解

    RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性. 为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分 ...

  3. 搭建windows的solr6服务器

    准备工作: 目前最新版本6.0.下载solr 6.0:Solr6.0下载 JDK8 下载jdk1.8:jdk1.8[solr6.0是基于jdk8开发的] tomcat8.0 下载:tomcat8 ## ...

  4. Hadoop1.x与2.x安装笔记

    Hadoop1.x与2.x安装笔记 Email: chujiaqiang229@163.com 2015-05-09 Hadoop 1.x 安装 Hadoop1.x 集群规划 No 名称 内容 备注 ...

  5. CSS定位规则之BFC 你居然一直不知道的东西!!!!!

    相关文档: http://blog.sina.com.cn/s/blog_877284510101jo5d.html http://www.cnblogs.com/dojo-lzz/p/3999013 ...

  6. 读取xml文件信息

    static void Main(string[] args) { XmlTextReader reader = new XmlTextReader(@"D:\zy\visual studi ...

  7. html5移动开发--js温馨提示

    1.a标签执行js笔试 <a id="myID" href="javascript:myfuction();"></a> 2.实时监听i ...

  8. LeetCode Solutions : Reorder List

    →-→Ln-1→Ln, reorder it to: L→Ln-2→- You must do this in-place without altering the nodes' values. Fo ...

  9. Cocos2D绘制纹理的一般方法

    如果你想在通常情况下绘制纹理,最简单的方法是在CCSprite的子类中实现.否则你将不得不自己创建一个CCRenderState对象传递给blend模式,着色器以及(可选的)纹理给CCRenderer ...

  10. hashCode()方法对HashMap的性能影响

    HashMap的put()方法会比较key的hash值,key的hash值获取方式如下: //HashMap的put方法 public V put(K key, V value) { return p ...