zoukankan      html  css  js  c++  java
  • python 字典基本操作

    python 中的字典属于一种高级数据结构,基于的基本数据结构是hash表,hash表在查找某一元素中的复杂度基本上等于O(1),因此是非常好用的数据结构。下面简介一下资本的一些字典的操作

    一、创建字典,给字典赋值

    NameRank={}
    NameRank={1:ada,2:aka,3:jia,4:gxy}

    创建字典有以上两种方式,可以直接初始化中给出赋值,也可以直接创建,字典赋值操作如下

    NameRank[key]=value

    二、字典的基本操作

    1、访问
    adict[key] 形式返回键key对应的值value,如果key不在字典中会引发一个KeyError。

    2、检查key

    a、has_key()方法 形如:adict.has_key(‘name') 有–>True,无–>False
    b、in 、not in   形如:'name' in adict      有–>True,无–>False

    3、更新字典

    adict[new_key] = value 形式添加一个项

    4、删除
    del adict[key] 删除键key的项 / del adict 删除整个字典
    adict.pop(key) 删除键key的项并返回key对应的 value值

    三、相关映射函数

    1、len() 返回字典的长度
    2、hash() 返回对象的哈希值,可以用来判断一个对象能否用来作为字典的键

    四、字典的方法

    1、adict.keys() 返回一个包含字典所有KEY的列表;
    2、adict.values() 返回一个包含字典所有value的列表;
    3、adict.items() 返回一个包含所有(键,值)元祖的列表;
    4、adict.clear() 删除字典中的所有项或元素;
    5、adict.copy() 返回一个字典浅拷贝的副本;
    6、adict.fromkeys(seq, val=None) 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);
    7、adict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);
    8、adict.has_key(key) 如果key在字典中,返回True,否则返回False。 现在用 in 、 not in;
    9、adict.iteritems()、adict.iterkeys()、adict.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
    10、adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
    11、adict.setdefault(key, default=None) 和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;
    12、adict.update(bdict) 将字典bdict的键值对添加到字典adict中。

    五、字典的遍历

    for value in adict.values(): print value #遍历值
    for key in adict.keys():print key #遍历键
    for item in adict.items():print item #遍历每一项
    for item,value in adict.items():print 'key=%s, value=%s' %(item,value) #遍历键值对  
    for item,value in adict.iteritems():print 'key=%s, value=%s' %(item,value) #遍历键值对 
  • 相关阅读:
    尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言
    Java 还是 C++?
    计划的回报
    阶段4:校订
    阶段3:开始创建
    阶段2:如何构建?
    阶段1:要制作什么?
    阶段0:拟出一个计划
    不要迷失
    分析和设计
  • 原文地址:https://www.cnblogs.com/inspirationhyl/p/4346759.html
Copyright © 2011-2022 走看看