zoukankan      html  css  js  c++  java
  • Python基础之字典

    1.创建字典

      字典中每个值都有一个唯一的key,key需要被哈希,可以是可以是数字、字符串、元组;用大括号'{}'将内容扩起来,且是无序的。

    1 info = {'name':'fox','age':16,'work':'it'}
    2 print(info)
    3 结果:
    4 {'age': 16, 'work': 'it', 'name': 'fox'}

    2.增

      通过需要增加的key和值,直接赋值给字典,即可添加元素。

    1 info = {'name':'fox','age':16,'work':'it'}
    2 info['sex'] = 'M'
    3 print(info)
    4 结果:
    5 {'name': 'fox', 'age': 16, 'work': 'it', 'sex': 'M'}

    3.删

    1)info.pop()删除指定key的键值对,如果所删除的key不存在则报错。

    1 info = {'name':'fox','age':16,'work':'it'}
    2 info.pop('work')
    3 print(info)
    4 结果:
    5 {'name': 'fox', 'age': 16}

    2)info.clear()清除所有键值对

    1 info = {'name':'fox','age':16,'work':'it'}
    2 info.clear()
    3 print(info)
    4 结果:
    5 {}

    4.改

    1)同增类似,直接通过key的修改其对应的值,因为是无序无法查找其位置。

    1 info = {'name':'fox','age':16,'work':'it'}
    2 info['work'] = 'ui'
    3 print(info)
    4 结果:
    5 {'work': 'ui', 'age': 16, 'name': 'fox'}

    2)info.update()当另一个字典中有当前字典的key,则修改,像'age'中的16改成18;如果另一个字典中再当前字典中没有的key,则将键值对添加到当前字典,像'sex':'M'。

    1 info = {'name':'fox','age':16,'work':'it'}
    2 info1 = {'age':18,'sex':'M'}
    3 info.update(info1)
    4 print(info)
    5 结果:
    6 {'work': 'it', 'age': 18, 'name': 'fox', 'sex': 'M'}

    5.查

    1)info.get()根据指定key查找对应的值

    1 info = {'name':'fox','age':16,'work':'it'}
    2 print(info.get('age'))
    3 结果:
    4 16

    2)info.setdefault()如果key存在,则读出该键对应的值;如果key不存在,则以该值作为字典的key,None作为值添加到字典中。

     1 info = {'name':'fox','age':16,'work':'it'}
     2 info.setdefault('work')
     3 print(info.setdefault('work'))
     4 print(info)
     5 info.setdefault('ff')
     6 print(info.setdefault('ff'))
     7 print(info)
     8 结果:
     9 it
    10 {'work': 'it', 'age': 16, 'name': 'fox'}
    11 None
    12 {'work': 'it', 'age': 16, 'name': 'fox', 'ff': None}

    6.遍历字典key和值

    1)info.keys()遍历出字典info中的key

    1 info = {'name':'fox','age':16,'work':'it'}
    2 print(info.keys())
    3 结果:
    4 dict_keys(['age', 'work', 'name'])

    2)info.values()遍历出字典info中的值

    1 info = {'name':'fox','age':16,'work':'it'}
    2 print(info.values())
    3 结果:
    4 dict_values(['it', 16, 'fox'])

    3)info.item()通过for方法可将key和值都遍历出来

    1 info = {'name':'fox','age':16,'work':'it'}
    2 for key,value in info.items():
    3     print(key,':',value)
    4 结果:
    5 age : 16
    6 name : fox
    7 work : it

    7.OrderedDict类

      OrderedDict类可以将字典变得有序,正常情况下字典是无序的,一个普通的字典,如果键值对一样,即使顺序不一样,那么两个字典是相等的。

    1 info = {'name':'fox','age':16,'work':'it'}
    2 info1 = {'age':16,'work':'it','name':'fox'}
    3 print(info == info1)
    4 结果:
    5 True

      使用OrderedDict()方法后,键值对一样,但是顺序不同时,不相等;OrderedDict()方法是collections模块的方法,不是内置方法,故需要导入,即(from collections import OrderedDict)指导入collections模块的OrderedDict类。

    1 from collections import OrderedDict
    2 info = {'name':'fox','age':16,'work':'it'}
    3 info1 = {'age':16,'work':'it','name':'fox'}
    4 info1 = OrderedDict()
    5 print(info == info1)
    6 结果:
    7 False
  • 相关阅读:
    人类历史上最智慧的169条警世箴言(句句珠玑,发人深省)
    最负责任的回答
    成大事必须依靠的五种人
    一生的伤痕
    有谁愿意陪我一程
    惜缘
    那朵美丽的格桑花,你是否依然绽放?
    今生今世只等你
    成就一生的15条黄金法则
    遇到困难挫折也不要悲观:每个人生来就是冠军(转)
  • 原文地址:https://www.cnblogs.com/foxshu/p/12033924.html
Copyright © 2011-2022 走看看