zoukankan      html  css  js  c++  java
  • Python基础:dictionary

    0x00 简介

    字典(dictionary),是无序的,不能通过偏移来存取,只能通过键来读取内容。dic属于可变类型,但是组成字典的键必须是不可变的数据类型,比如数字、字符串、元组等。

    语法:dic = {'key':value}

    0x01 基本操作

    两种定义的方法

    >>> ainfo = {'name':'Xiaoming', 'gender':'male'}
    >>> binfo = dict(name='Xiaoming', gender='male')

    嵌套和修改

    >>> binfo = {'a' : [1,2,3] , 'b' : [4,5,6]}    #字典中嵌套列表
    >>> binfo
    {'a' : [1, 2, 3] , 'b' : [4, 5, 6] }  
    >>> binfo['a'][2] = 5 #value可在原地修改,属于可变类型 >>> binfo {'a' : [1, 2, 5] , 'b' : [4, 5, 6] }

    两种添加的方法

    >>> info = {'name':'Xiaoming', 'gender':'male'}
    >>> info['age'] = 10    #单个添加key和value
    >>> info
    {'name':'Xiaoming', 'gender':'male', 'age':10}
    
    >>> info = {'name':'Xiaoming', 'gender':'male'}
    info.update({'age':11, 'city':'Shanghai'})    #若update的key已存在,则会覆盖原value;若key不存在,则是创建
    >>> info
    {'name':'Xiaoming', 'gender':'male','age':11, 'city':'Shanghai'}

    三种删除的方法

    del

    >>>info = {'name':'Xiaoming', 'gender':'male','age':11, 'city':'Shanghai'}
    >>>del info['city']    #仅仅删除city这一个key
    >>>del info    #删除info这个dic

    clear

    >>> a = {'info':'info','age''=22}
    >>> a.clear()

    pop

    >>> a = {'name':'Sam','age':22}
    >>> a.pop('age')    #传入需要删除的key,返回value,然后从字典中删除
    22
    >>> a
    {'name':'Sam'}
    >>> a.pop('wealth','The key you want to pop does not exist')    #设置一个默认值,当pop的对象不存在时则提示该句话
    'The key you want to pop does not exist'

    注:列表使用pop方法时,指定的是索引的下标,如a.pop(0);而字典使用pop方法时,指定的是键名。

    has_key方法:判断某个键时候包含于字典中

    >>>women.has_key('dick')
    False

    以列表的形式单独返回key或者value

    >>> info = {'name':'Jerry', 'age'=23}
    >>> info.keys()
    ['name','age']
    >>> info.values()
    ['Jerry',23]

    items:生成一个字典的容器

    >>> info = {'name':'Jerry', 'age'=23}
    >>> info.items()
    [('name':'Jerry'),('age':23)]

    get:由键名返回值

    >>> info = {'name':'Jerry', 'age'=23}
    >>> info.get('name')
    'Jerry'
    >>> info.get('gender','do not exist')    #当get的键名不存在时,返回后面这句话
    'do not exist'
  • 相关阅读:
    开源代码分析工具 good
    Qt5---ftp上传功能(使用组合的办法实现功能,QNetworkAccessManager自动管理分片上传,用QLoggingCategory屏蔽SSL警告)
    QT---基于WinPcap的局域网络管理工具(主机扫描、包过滤、ARP攻击、端口扫描)
    unity资源
    MVC5 EF6 Bootstrap3 HtmlHelper
    轻量级IOC框架Guice
    CloudNotes:一个云端个人笔记系统
    WeChatAPI 开源系统架构详解
    基础查询扩展
    ASP.NET 5 Hello World
  • 原文地址:https://www.cnblogs.com/tzuxung/p/5698979.html
Copyright © 2011-2022 走看看