zoukankan      html  css  js  c++  java
  • 3、Python字典

      字典是Python中唯一内建的映射类型,是由键/值对来组成,键可是是数字、字符串、甚至元组,但是键必须是唯一的。

    1、字典的创建

    字典的创建很简单,以下格式就能创建字典:dictvalue = {key1 : value1,  key2 : value2, ...}

    也可以使用dict()函数来创建,它是通过序列或者元组对,或者是关键字参数dict(key1 = value1, key2 = value2, ...)

    View Code
     1  item = dict((['name', 'xiaoli'],['age', 12]))
     2  item
     3  {'age': 12, 'name': 'xiaoli'}
     4  item = dict([['name', 'xiaoli'],['age', 12]])
     5  item
     6  {'age': 12, 'name': 'xiaoli'}
     7  item = dict([('name', 'xiaoli'),('age', 12)])          
     8  item
     9  {'age': 12, 'name': 'xiaoli'}
    10  item = dict([('name', 'xiaoli'),('age', 12)])          
    11  item
    12  {'age': 12, 'name': 'xiaoli'}

    2、字典的基本操作

    字典的基本操作和序列的相类似:

    len(d)返回字典中键值对个数;

    d[key]返回字典中关联到键key中的值;

    d[key]=value将值value关联到键key上;

    del d[key]删除键位key的值;

    key in d检查d中是否含有键位key的项;

    3、字典的格式化字符串

    在格式化转换符%之后,加上用圆括号括起来的键,后面在跟上转换类型说明符。

    View Code
    template = '''<html>
        <head><title>%(title)s</title></head>
        <body>
        <h1>%(title)s</h1>
        <p>%(text)s</p>
        <p>%(num)d</p>
        </body>'''
    data = {'title': 'My Home Page', 'text': 'Welcome to my home page!','num':12}
    print template % data
    
    运行结果:
    <html>
        <head><title>My Home Page</title></head>
        <body>
        <h1>My Home Page</h1>
        <p>Welcome to my home page!</p>
        <p>12</p>
        </body>

    4、字典的方法

    4.1 clear方法清除字典中的所有项

    4.2 copy方法返回一个具有相同键值对的新字典,copy方法是一种浅复制,复制的不完整,对副本中的值重新赋值原字典中的字不变,但是如果对副本中的值进行删除或增加,则原字典中的值也会被相应修改;解决这种问题的方法是深复制deepcopy,将原字典中的完整复制一份

    View Code
     1 item1 = {'name':'xiaoli','course':{'math','english','chinese'}}
     2 item2= item1.copy()
     3 item2['name'] = 'xiaowang'
     4 item2['course'].remove('math') 
     5 item1
     6 {'course': set(['chinese', 'english']), 'name': 'xiaoli'}
     7 item2
     8 {'course': set(['chinese', 'english']), 'name': 'xiaowang'}
     9 from copy import deepcopy
    10 item3 = deepcopy(item1)
    11 item3['name'] = 'xiaozhao'
    12 item3['course'].remove('chinese')
    13 item1
    14 {'course': set(['chinese', 'english']), 'name': 'xiaoli'}
    15 item3
    16 {'course': set(['english']), 'name': 'xiaozhao'}

    4.3 fromkeys方法使用给定的键建立新字典,每个键默认的字为None

    View Code
    1 c = {}
    2 c.fromkeys(['name','age'])
    3 {'age': None, 'name': None}

    4.4 get方法用来访问字典中的值,如果不存在返回None,也可以提供一个默认的值

    4.5 has_key方法用来检查字典中是否含有给定的键

    4.6 items和iteritems,items方法将字典中的所有项以列表的方式返回,这些列表中的每一项格式是(key, value);iteritems方法和items方法功能相同,但是它返回的是一个迭代器对象

    4.7 keys和iterkeys,keys方法将字典中的键以列表的方式返回;iterkeys方法返回字典中键的一个迭代器

    4.8 pop方法用来获取字典中对应键的值,并将该键值对从字典中删除

    4.9 popitem方法类似于list.pop(),它会弹出列表中的最后一个元素并删除,但popitem弹出的是随机的项,因为字典本身没有顺序的概念

    4.10 setdefault方法在某种程度上类似于get方法,获取字典中给定键的值,如果键不存在可以对该键关联的值进行设置

    4.11 update方法可以将一个字典中的值更新到另一个字典中,如果存在相同的键,则会把原有字典中的值覆盖掉

    4.12 values和itervalues,values方法以列表的形式返回字典中的值,itervalues方法返回字典中所有值的一个迭代器

  • 相关阅读:
    D3.js 几种常用的坐标轴
    前端页面的用户体验优化设计
    用can-fixture拦截Ajax并模拟响应
    webpack入门及使用
    CommonJS和AMD规范
    凝思6.0虚拟机搭建--遇到的问题
    凝思6.0安装vmware tools记录
    linux定时任务crontab命令
    find命令使用指南
    关于字体、字形、字符集、字体大小
  • 原文地址:https://www.cnblogs.com/wanghaoran/p/2958323.html
Copyright © 2011-2022 走看看