词典类型 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. 洛谷 P2708 硬币翻转 题解

    题目传送门 真如题面所说,难度系数:☆☆☆☆☆(如果你看懂了). 从后往前扫一次,如果a[i]==0&&a[i-1]==1那么将ans+2. 注意最后不要忘记开头if(a[0]=='0 ...

  2. 用户代码未处理EntityCommandExecutionmException报错解决方案

    原因可能是(1)没有编译好,清理解决方案,重新生成解决方案.          (2)可能是WebSiteConfiguration.DbProviderName;中为DbProviderName属性 ...

  3. 使用亚马逊云服务器EC2做深度学习(三)配置TensorFlow

    这是<使用亚马逊云服务器EC2做深度学习>系列的第三篇文章. (一)申请竞价实例  (二)配置Jupyter Notebook服务器  (三)配置TensorFlow  (四)配置好的系统 ...

  4. sed实践

    后来也找到一篇文章讲的很详细: http://www.cnblogs.com/ctaixw/p/5860221.html --------------------------------------- ...

  5. Linux的权限对于文件与目录的意义

    权限对文件: r:可读取此文件的实际内容. w:可以编辑.新增或者是修改该文件的内容(但不含删除该文件),如果没有r权限,无法w. x :该文件具有被系统执行的权限.可以删除. 权限对目录: r:re ...

  6. lr的脚本调试方法

    1)  设置调试断点(快捷键F9)当设置断点的脚本,脚本运行到断点处,自动停止运行,我们可以通过查看运行日志,来观察脚本执行的情况: LR中也能设置断点,具体菜单在:Insert - Toggle B ...

  7. CountDownLatch 使用方法

    CountDownLatch 使用方法 import java.util.concurrent.CountDownLatch; public class TestCountDownLatch { pu ...

  8. RxSwift 系列(九)

    前言 看完本系列前面几篇之后,估计大家也还是有点懵逼,本系列前八篇也都是参考RxSwift官方文档和一些概念做的解读.上几篇文章概念性的东西有点多,一时也是很难全部记住,大家脑子里面知道有这么个概念就 ...

  9. 初探 Spring Boot

    近些年Spring Boot都特别火,一直都想来学习学习,奈何近期公司项目繁忙,一直都没有时间来学习,今天终于是休息一天,于是来一睹 SpringBoot 的风采. 一.什么是Spring Boot ...

  10. Tomcat+Apache集群方案

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha # environment slash for Windows(反斜杠代表Windows ...