• (4)python 字典


    创建字典

    phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

    以 value :key  键值对的格式。冒号前是键,冒号后时值 ,组合在一起是一项。多个项放在一个花括号内。

    函数dict()用来把其他项创建成一个字段

    >>> item = [('name', 'tom'), ('age', 17)]
    >>> d=dict(item)
    >>> d
    {'name': 'tom', 'age': 17}

    或者

    >>> d = dict(name='tom', age=17)
    >>> d
    {'name': 'tom', 'age': 17}

    len() 返回字段包含项的个数

    >>> len(d)
    2

    通过字典的键访问值

    >>> d['name']
    'tom'

    修改或增加一个项

    >>> d['age']=18
    >>> d
    {'name': 'tom', 'age': 18}
    >>> d['a']=33
    >>> d
    {'name': 'tom', 'age': 18, 'a': 33}

    删除一项

    >>> del d['a']
    >>> d
    {'name': 'tom', 'age': 18}

    检查字段是否有此键

    >>> 'age' in d
    True

    字典方法

    1.clear() 删除所有项

    2.copy() 返回一个新字典

    y=x.copy()

    修改值原字典不会受影响,替换值原字典会受到影响。

    遇到替换问题可以用深复制的方法--暂时不想了解

    3.fromkeys()

    创建一个新字典,每个键对应的值为None。

    >>> dd={}.fromkeys(['name','age'])
    >>> dd
    {'name': None, 'age': None}

    如果不行默认None

    >>> xx={}.fromkeys(['name','age'],'abc')
    >>> xx
    {'name': 'abc', 'age': 'abc'}

    4.get

    get和键访问一样。但是键访问没有的键会引发异常。get访问没有得键会返回None

    >>> xx['a']
    Traceback (most recent call last):
      File "<pyshell#78>", line 1, in <module>
        xx['a']
    KeyError: 'a'
    >>> xx.get('name')
    'abc'
    >>> xx.get('a')
    >>> 
    >>> 

    5.items

     返回一个字典视图

    >>> d
    {'y': 2, 'z': 3, 'a': 5}
    >>> d.items()
    dict_items([('y', 2), ('z', 3), ('a', 5)])

    6.keys

     返回一个只包含键的字典视图。值无重复

    >>> d
    {'y': 2, 'z': 3}
    >>> d.keys()
    dict_keys(['y', 'z'])

    7.pop

     方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除

    >>> d={'x':1,'y':2}
    >>> d.pop('x')
    1
    >>> d
    {'y': 2}

    8.popitem

    随机弹出一项,并返回弹出项

    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 6}
    >>> d.popitem()
    ('b', 6)
    >>> d
    {'y': 2, 'z': 3, 'a': 5}

    9.setdefault

    如果setdefault 参数对应的键在字典里无此键,则在字典添加这个键值。如果字典里有此键,则不更新

    >>> d
    {'y': 2, 'z': 3, 'a': 5}
    >>> d.setdefault('b',0)
    0
    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 0}
    >>> d['b']=8
    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 8}
    >>> d.setdefault('b',0)
    8
    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 8}

    10.update

    使用字典项来更新字典,没有的项会新增

    >>> d
    {'y': 2, 'z': 3, 'a': 2}
    >>> x={'a':5,'b':6}
    >>> d.update(x)
    >>> d
    {'y': 2, 'z': 3, 'a': 5, 'b': 6}
    >>> 

    11.values

      返回一个只包含值的字典视图。值有可能重复

    >>> d
    {'y': 2, 'z': 3, 'a': 2}
    >>> d.values()
    dict_values([2, 3, 2])
    >>> 
  • 相关阅读:
    网络编程学习笔记:Socket编程
    C# url 路径转换 相对路径 转换为 绝对路径
    利用pycharm运行scrapy以及scrapy的配置
    基于scrapy的分布式爬虫抓取新浪微博个人信息和微博内容存入MySQL
    LeetCode 1. Two Sum
    【转载】C#异常Retry通用类
    【转载】WebDriver(C#)之十点使用心得
    c#值类型和引用类型
    percona5.7 源码安装
    android UI进阶之用ViewPager实现欢迎引导页面[转]
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/6850315.html
Copyright © 2020-2023  润新知