词典类型 dict

  字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。

  dict 赋值

  dict 整体放在花括号{}中,每个键与值用冒号隔开(:),每对用逗号分割; d = {'one':1, 'two':2, 'three':3}

  键必须独一无二,但值则不必;值可取任何数据类型,如字符串,数或元组;若创建时同一个键被赋值两次,后一个值会被记住;

  键必须不可变,所以可以用数,字符串或元组充当,用列表就不行

  用 dict() 强制转换,可接受以下形式,参见下例

 a = dict(one=1, two=2, three=3)
b = {'one': 1, 'two': 2, 'three': 3}
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
d = dict([('two', 2), ('one', 1), ('three', 3)])
e = dict({'three': 3, 'one': 1, 'two': 2})
print(a == b == c == d == e)

  dict 操作

    词典类型适用于对应键的取值,十分实用;对于dict的访问、修改、增加、删除等操作需要熟练掌握

    以下列出了常用的用法,详细请参考:

    访问值、修改值

      dict_name['key_name'] 可直接访问值,可直接更改该值

 d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(d['Name'],d['Age'],d['Class']) # 访问键值访问 dict_name['key_name']
print("%s's age is %d, class is: %s." %(d['Name'], d['Age'],d['Class'])) # 字符串输出
# print(d['name']) # 无该键值,会报错,注意大小写
d['Age'] = 8
print(d['Age']) # 可直接修改键的数值,数值类型不限

    键的增加、删除

      判断key是否存在于dict中,使用 key_name in/not in dict_name;

      增加键值即对新的键赋值 dict_name['new key_name'] = value ;删除键值使用 del dict_name['key_name'];

      清空词典使用 dict_name.clear()

 d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(d['Name'],d['Age'],d['Class']) # 访问键值访问 dict['key_name']
print("%s's age is %d, class is: %s." %(d['Name'], d['Age'],d['Class'])) # 字符串输出
# print(d['name']) # 无该键值,会报错,注意大小写
d['Age'] = 8
print(d['Age']) # 可直接修改键的数值,数值类型不限
print('Name' in d) # 判断键是否存在
print('xxx' not in d) # 判断键是否不存在
d['Sex'] = "Female" # 增加键值直接赋值即可
print(d)
del d['Class'] # 删除键值
print(d)
# del d['Class'] # 若无键值,会报错
d.clear() # 清空dict
print(d)

    dict view objects

      len(dict_name) 返回词典键值组合数,可单独取出所有键 dict_name.keys() , 单独取出所有的值 dict_name.values()

 d = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(len(d)) # 键值的组合数量
print(d.keys(),type(d.keys())) # 为dict_keys 类型,可list()转换为list 或 set()转换为set
print(d.values()) # 为dict_values 类型
print(d.items()) # 为dict_items 类型

Python学习(四)数据结构 —— dict的更多相关文章

  1. python学习4—数据结构之列表、元组与字典

    python学习4—数据结构之列表.元组与字典 列表(list)深灰魔法 1. 连续索引 li = [1,1,[1,["asdsa",4]]] li[2][1][1][0] 2. ...

  2. 从0开始的Python学习012数据结构&对象与类

    简介 数据结构是处理数据的结构,或者说,他们是用来存储一组相关数据的. 在Python中三种内建的数据结构--列表.元组和字典.学会了使用它们会使编程变得的简单. 列表 list是处理一组有序的数据结 ...

  3. python学习之数据结构

    python的数据很丰富,所以对于数据分析来讲, python是一种最合适的选择 下面讲述一下常见的数据结构,包括栈,队列,元组,字典,集合等,以及对这些数据结构进行操作 #堆栈,后进先出 a=[10 ...

  4. python学习四(处理数据)

    head first python中的一个数据处理的例子 有四个U10选手的600米成绩,请取出每个选手跑的最快的3个时间.以下是四位选手的9次成绩 James 2-34,3:21,2.34,2.45 ...

  5. Python学习(四) Python数据类型:序列(重要)

    插播一下,先了解一下Python的数据类型,Python现有的数据类型有好多,最重要的有列表.元组.字典 列表:我觉得可以对应java中的数组 list=['physics', 'chemistry' ...

  6. Python学习笔记——数据结构和算法(一)

    1.解压序列赋值给多个变量 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量. 唯一的前提就是变量的数量必须跟序列元素的数量是一样的. >>> data ...

  7. Python学习笔记 set&&dict

    dict 是个好东西啊,这个东东是类似于c++里面的map.其形式为 dict={key:value,key:value....} 这个东西好玩的地方主要在于 1.他的key值查找采用的是哈希算法,速 ...

  8. Python学习(四):模块入门

    1.模块介绍 模块:代码实现的某个功能的集合 模块分类: 自定义模块 内置标准模块 开源模块 模块的常用方法: 是否为主文件:__name__ == '__main__' 如果是直接执行的某程序,那么 ...

  9. python笔记四(dict/set/不可变对象)

    一.dict 字典是包含key_value存储方式.在放进去的时候,必须根据key值Hash出value的存放位置,这样,取的时候才能根据key直接拿到value. dict的操作: d = {'Mi ...

  10. Python学习四|变量、对象、引用的介绍

    变量 变量创建:一个变量也就是变量名,就像a,当代码第一次赋值时就创建了它.之后的赋值将会改变已创建的变量名的值,从技术上讲,Python在代码运行之前先检测变量名,可以当成是最初的赋值创建了变量. ...

随机推荐

  1. 以Docker容器方式安装Ceph

    获取Ceph的Docker镜像 因为公司对于网络环境的限制,安装ceph时使用ceph-deploy反而很不方便,且ssh免密码方式也不适用,所以使用docker方式安装. Git地址 https:/ ...

  2. Oracle与MySQL连接配置

    MySQL: Driver: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/GBDSPT(数据库名称) Oracle: Driver:o ...

  3. Java学习(API及Object类、String类、StringBuffer字符串缓冲区)

    一.JAVA的API及Object类 1.API 概念: Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就 ...

  4. day2 购物商城

    购物商城 商品展示.价格 买,加入购物车 付款,钱不够.(减商品,充值)

  5. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 F - 打铁的箱子

    题目描述 作为彩虹岛上最擅长打铁的人,

  6. 在ASP.NET中实现图片、视频文件上传方式

    一.图片 1.在前端用<asp:FileUpload ID="UpImgName" runat="server"/>控件 2.在后台.cs中写上 p ...

  7. python 爬取世纪佳缘,经过js渲染过的网页的爬取

    #!/usr/bin/python #-*- coding:utf-8 -*- #爬取世纪佳缘 #这个网站是真的烦,刚开始的时候用scrapy框架写,但是因为刚接触框架,碰到js渲染的页面之后就没办法 ...

  8. 邝斌带你飞之数论专题--Maximum GCD UVA - 11827

    Given the N integers, you have to find the maximum GCD (greatest common divisor) of every possible p ...

  9. [HNOI2008]玩具装箱TOY --- DP + 斜率优化 / 决策单调性

    [HNOI2008]玩具装箱TOY 题目描述: P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京. 他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器 ...

  10. HDU 6084 寻找母串(卡特兰数)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6084 [题目大意] 对于一个串S,当它同时满足如下条件时,它就是一个01偏串: 1.只由0和1两种 ...