zoukankan      html  css  js  c++  java
  • python字典介绍

    字典的key必须是不可变类型,也成为可hash类型
    info={(1,2):'a'}
    print(info[(1,2)])


    1.字典的创建
          字典的基本形态dic={key:value}
          创建方法1:直接创建
                my_dict={}
                my_dict=dict()
                my_dict={'name':'wk','age':'20','sex':'man'}
          创建方法2:工厂方法dict,通过其他映射(例如字典)或者(键,值)这样的序列对建立
                items=[('name','wk'),('age','20')]
                my_dict=dict(items)
                my_dict=dict((['name','wk'],['age','20']))
          创建方法3:使用内建方法fromkeys()创建’默认‘字典,字典中元素具有相同的value(如果没有给出,默认为none)
                my_dict={}.fromkeys(('x','y'),-1)
                my_dict={'x':-1,'y':-1}
                my_dict={}.fromkeys(('x','y'))
                my_dict={'x':None, 'y':None}
    2.访问字典中的值
          最常用和基本的莫过于利用key访问value了
          a.通过key访问value之get方法
               dict1.get('name')#也可以直接是my_dict['key1'],但是当key1不存在其中时,会报错;此时用get则返回None
          b.随机访问其中键值对
               字典中是无序的,利用popitem方法是随机弹出一个键值对
          c.返回字典所有值的列表
               方法values
          d.使用默认值
               mydict.setdefault(character,0)
    3.访问字典中的key
          a.检查是否含有key1
             my_dict.has_key(key1)
             key1 in my_dict
             key1 not my_dict
          b.返回字典中键的列表
             my_dict.keys()
          c. for key in my_dict:
                      print(key)
          d.返回字典中值的列表
               my_dict .values()
    4.访问键值对
          a.遍历方式
             for key in my_dict  #r是dictionary中的键值对
          b.修改(更新)或添加
             my_dict[key]=value
    5.删除
          a.按key删除
             del my_dict[key]
          b.字典pop()方法
             my_dict.pop(key)
          c.字典clear()方法
             my_dict.clear()
          d.字典popitem()方法
             print(info['name1'])
    6.排序
         sorted(my_dict.iteritems(), key=lambda d:d[1], reverse=False)
         说明:对字典dic中的元素按照d[1](d[1]是value,d[0]是key,和d没关系,可以改为a什么的)进行升序排序,通过设置reverse的True或False可以进行逆序,并返回排序后的字典(该排序后的字典由元组组成,其形式为[(key1,value1),(key2,value2),...],且原字典保持不变)
    7.其他
          len(my_dict) #查看字典长度
          dictionary.item() #查看
          dictionary.iteritems()

    方法名字     操作
    dict.clear()     删除字典中所有元素
    dict.copy()     返回字典(浅复制)的一个副本
    dict.fromkeysc(seq,val=None)     创建并返回一个新字典,以seq 中的元素做该字典的键,val 做该字典中所有键对应的初始值(如果不提供此值,则默认为None)
    dict.get(key,default=None)     对字典dict 中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None)
    dict.has_key(key)     如果键(key)在字典中存在,返回True,否则返回False. 在Python2.2版本引入in 和not in 后,此方法几乎已废弃不用了,但仍提供一个 可工作的接口。
    dict.items()     返回一个包含字典中(键, 值)对元组的列表
    dict.keys()     返回一个包含字典中键的列表
    dict.values()     返回一个包含字典中所有值的列表
    dict.iter()     方法iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。
    dict.pop(key[, default])     和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。
    dict.setdefault(key,default=None)     和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。
    dict.setdefault(key,default=None)     和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。

  • 相关阅读:
    剑指offer系列0:替换空格&从头到尾打印链表
    算法1:动态规划
    设计模式2:策略模式
    NPOI导出xls、xlsx和csv
    EF6
    oracle导出数据字典
    oracle分组函数
    oracle分析函数中的开窗函数
    Oracle 列转行&行转列
    Oracle基本函数总结
  • 原文地址:https://www.cnblogs.com/godspeed034/p/7339274.html
Copyright © 2011-2022 走看看