字典,{key,value}

help(dict)

  • 定义一个字典:
>>> dict1
{'salary': '', 'age': '', 'name': 'yzw'}
>>> dict2=dict1
>>> id(dict2)
139948810542280
>>> id(dict1)
139948810542280
>>> dict2=dict1.copy()
>>> id(dict1),id(dict2)
(139948810542280, 139948887698696)
  • |  clear(...)  清空一个字典
     |      D.clear() -> None.  Remove all items from D.

    >>> dict2.clear()
    >>> dict2
    {}
  • |  copy(...)  普通赋值指向相同的内存地址
     |      D.copy() -> a shallow copy of D
    >>> dict2=dict1.copy()
    >>> id(dict1),id(dict2)
    (139948810542280, 139948887698696)
  • |  fromkeys(iterable, value=None, /) from builtins.type  创建一个以序列为key,值相同的字典
     |      Returns a new dict with keys from iterable and values equal to value.

    >>> seq1=('length','width','square')
    >>> dict3=dict.fromkeys(seq1)
    >>> dict3
    {'length': None, 'width': None, 'square': None}
    >>> dict4=dict.fromkeys(seq1,10)
    >>> dict4
    {'length': 10, 'width': 10, 'square': 10}
  • |  get(...)  根据key取value,key不存在则返回None   dict[key]取值key不存在时报错
     |      D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.
    >>> dict1
    {'salary': '', 'age': '', 'name': 'yzw'}
    >>> dict1.get('salary')
    ''
    >>> dict1.get('sex')
    >>> dict1['salary']
    '100'
    >>> dict1['sex']
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'sex'
  • |  items(...)  以列表返回可遍历的(键, 值) 元组数组
     |      D.items() -> a set-like object providing a view on D's items
    >>> dict1.items()
    dict_items([('salary', ''), ('age', ''), ('name', 'yzw')]) 
  • |  keys(...)  返回所有key的列表
     |      D.keys() -> a set-like object providing a view on D's keys
    >>> dict1.keys()
    dict_keys(['salary', 'age', 'name'])   
  • |  pop(...)  删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
     |      D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
     |      If key is not found, d is returned if given, otherwise KeyError is raised
    >>> dict1.pop('salary')
    ''
    >>> dict1
    {'age': '', 'name': 'yzw'}
    >>> dict1.pop('sex')
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    KeyError: 'sex'
    >>> dict1['sex']='man'
    >>> dict1
    {'sex': 'man', 'age': '18', 'name': 'yzw'}
  • |  popitem(...) 随机删除一个k/v
     |      D.popitem() -> (k, v), remove and return some (key, value) pair as a
     |      2-tuple; but raise KeyError if D is empty.
    >>> dict1
    {'square': None, 'kind': 'human', 'width': None, 'name': 'yzw', 'length': None, 'sex': 'man', 'age': ''}
    >>> dict1.popitem()
    ('square', None)
    >>> dict1.popitem()
    ('kind', 'human')
    >>> dict1
    {'width': None, 'name': 'yzw', 'length': None, 'sex': 'man', 'age': ''}
  • |  setdefault(...)  不存在key,则增加到字典中,若存在,则返回key对应的value
     |      D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
    >>> dict1.setdefault('kind','human')
    'human'
    >>> dict1
    {'kind': 'human', 'sex': 'man', 'age': '', 'name': 'yzw'}
    >>> dict1.setdefault('sex','femeal')
    'man'
    >>> dict1
    {'kind': 'human', 'sex': 'man', 'age': '18', 'name': 'yzw'}
  • |  update(...)  字典合并,不能存在的k/v则增加,已存在的k则覆盖更新
     |      D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
     |      If E is present and has a .keys() method, then does:  for k in E: D[k] = E[k]
     |      If E is present and lacks a .keys() method, then does:  for k, v in E: D[k] = v
     |      In either case, this is followed by: for k in F:  D[k] = F[k]
    >>> dict1
    {'kind': 'human', 'sex': 'man', 'age': '', 'name': 'yzw'}
    >>> dict3
    {'length': None, 'width': None, 'square': None}
    >>> dict3['kind']='human'
    >>> dict3
    {'kind': 'human', 'length': None, 'width': None, 'square': None}
    >>> dict1.update(dict3)
    >>> dict1
    {'square': None, 'kind': 'human', 'width': None, 'name': 'yzw', 'length': None, 'sex': 'man', 'age': ''}
    >>>
  • |  values(...)  返回字典所有值的列表形式
     |      D.values() -> an object providing a view on D's values
    >>> dict1.values()
    dict_values([None, 'human', None, 'yzw', None, 'man', ''])
  • 字典遍历

    >>> dict1
    {'width': None, 'name': 'yzw', 'length': None, 'sex': 'man', 'age': ''}
    >>> for i in dict1:
    ... print(i,dict1[i])
    ...
    width None
    name yzw
    length None
    sex man
    age 18
    # 效率最高
    >>> for k,v in dict1.items():
    ... print(k,v)
    ...
    width None
    name yzw
    length None
    sex man
    age 18
    #效率低
    >>> for k,v in enumerate(dict1):
    ... print(k,v)
    ...
    0 width
    1 name
    2 length
    3 sex
    4 age
    >>> for idx,k in enumerate(dict1):
    ...     print(idx,k,dict1[k])
    ...
    0 width None
    1 name yzw
    2 length None
    3 sex man
    4 age 18

python3.x 基础一:dict字典的更多相关文章

  1. python基础(六)dict字典和文件操作open

    字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...

  2. python基础数据类型--dict 字典

    字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...

  3. Python - 基础数据类型 dict 字典

    字典简介 字典在 Python 里面是非常重要的数据类型,而且很常用 字典是以关键字(键)为索引,关键字(键)可以是任意不可变类型 字典由键和对应值成对组成,字典中所有的键值对放在 { } 中间,每一 ...

  4. Python基础数据类型(五) dict字典

    字典dict{} 字典数字自动排序 enumerate 枚举 for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举 print(i,k) dict,以{}来表 ...

  5. Python3中dict字典的相关操作函数

    字典对象的内建函数 1. clear() 清空字典. 例: >>> a = {1:3, 2:4} >>> a.clear() >>> a {} 2 ...

  6. python的dict()字典数据类型的方法详解以及案例使用

    一.之前的回顾 # int  数字 # str 字符串 # list 列表 # tuple 元组 # dict 字典 字典中最重要的方法 keys() values() items() get upd ...

  7. Python基础知识(五)------字典

    Python基础知识(四)------字典 字典 一丶什么是字典 ​ dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 ​ 键: 必须是可哈希,(不可变的数据类型 ...

  8. python基础之dict、set及字符

    python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...

  9. python基础——使用dict和set

    python基础——使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其它语言中也称为map(映射),使用键-值(key-value)存储,具 ...

  10. 第四篇:python基础之dict、set及字符

    python基础之dict.set及字符   python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射 ...

随机推荐

  1. 存储-raid

  2. 抖音人脸识别Autojs脚本

    title: 抖音人脸识别Autojs脚本 用Autojs写的抖音人脸颜值检测脚本 ​ 疫情期间宅家久了,昨天闲着没事(好吧,有事情,但是我不想做) ,消费之火熊熊燃烧.一咬牙把Autojs入正了.我 ...

  3. 异常:NoSuchFieldError: BEST_MATCHING_HANDLER_ATTRIBUTE

    出现的原因 pom 依赖之间不匹配导致 当前的 pom 调整后访问资源成功后面的 pom

  4. Android Studio常用配置

    目录 1. 主题颜色设置 2. Logcat颜色设置 3. 类注释 4. 编译器添加背景图 4.1 第一种方式 Background Image 4.2 第二种方式 Sexy Editor 5. 修改 ...

  5. mac OS 搭建PHP项目开发环境

    系统 macOS Mojave 版本10.14.6 mac OS 自带Apache和PHP 非常便利 sudo apachectl -v //查看apache版本 php -v //查看php版本 启 ...

  6. matlab画图(一)

    例1.画出函数图像 >> x=-pi/2:0.01:pi/2; >> y=x+sin(x)+exp(x); >> plot(x,y,'r','Linewidth', ...

  7. 信息竞赛进阶指南--区间最值问题的ST算法

    void ST_prework() { for (int i = 1; i <= n; i++) f[i][0] = a[i]; int t = log(n) / log(2) + 1; for ...

  8. Jenkins 构建 Jmeter 项目

    1.启动 Jenkins(windows 版本) 2.新建自由风格的项目 定时任务 构建操作 安装 HTML Publisher 插件 构建后操作 最后保存构建,查看报告

  9. 对已经创建的docker container设置开机自启动

    首先显示出所有的容器 docker ps -a #显示所有容器 设置已经建立的容器的开机自启动方法 docker update --restart=always <container ID 根据 ...

  10. 如何理解三大运营商发布的《5G消息白皮书》?

    如何理解三大运营商发布的<5G消息白皮书>? 2020年4月8日中国移动.中国电信.中国联通携手华为.小米.vivo.OPPO.中兴等11家终端厂商联合发布了<5G消息白皮书> ...