Python学习(四)数据结构 —— dict
词典类型 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的更多相关文章
- python学习4—数据结构之列表、元组与字典
python学习4—数据结构之列表.元组与字典 列表(list)深灰魔法 1. 连续索引 li = [1,1,[1,["asdsa",4]]] li[2][1][1][0] 2. ...
- 从0开始的Python学习012数据结构&对象与类
简介 数据结构是处理数据的结构,或者说,他们是用来存储一组相关数据的. 在Python中三种内建的数据结构--列表.元组和字典.学会了使用它们会使编程变得的简单. 列表 list是处理一组有序的数据结 ...
- python学习之数据结构
python的数据很丰富,所以对于数据分析来讲, python是一种最合适的选择 下面讲述一下常见的数据结构,包括栈,队列,元组,字典,集合等,以及对这些数据结构进行操作 #堆栈,后进先出 a=[10 ...
- python学习四(处理数据)
head first python中的一个数据处理的例子 有四个U10选手的600米成绩,请取出每个选手跑的最快的3个时间.以下是四位选手的9次成绩 James 2-34,3:21,2.34,2.45 ...
- Python学习(四) Python数据类型:序列(重要)
插播一下,先了解一下Python的数据类型,Python现有的数据类型有好多,最重要的有列表.元组.字典 列表:我觉得可以对应java中的数组 list=['physics', 'chemistry' ...
- Python学习笔记——数据结构和算法(一)
1.解压序列赋值给多个变量 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量. 唯一的前提就是变量的数量必须跟序列元素的数量是一样的. >>> data ...
- Python学习笔记 set&&dict
dict 是个好东西啊,这个东东是类似于c++里面的map.其形式为 dict={key:value,key:value....} 这个东西好玩的地方主要在于 1.他的key值查找采用的是哈希算法,速 ...
- Python学习(四):模块入门
1.模块介绍 模块:代码实现的某个功能的集合 模块分类: 自定义模块 内置标准模块 开源模块 模块的常用方法: 是否为主文件:__name__ == '__main__' 如果是直接执行的某程序,那么 ...
- python笔记四(dict/set/不可变对象)
一.dict 字典是包含key_value存储方式.在放进去的时候,必须根据key值Hash出value的存放位置,这样,取的时候才能根据key直接拿到value. dict的操作: d = {'Mi ...
- Python学习四|变量、对象、引用的介绍
变量 变量创建:一个变量也就是变量名,就像a,当代码第一次赋值时就创建了它.之后的赋值将会改变已创建的变量名的值,从技术上讲,Python在代码运行之前先检测变量名,可以当成是最初的赋值创建了变量. ...
随机推荐
- 应用nslookup命令查看A记录、MX记录、CNAME记录和NS记录
https://blog.csdn.net/qq_38058202/article/details/80468688
- css弹性盒子
body元素设置: <body> <div id="wai"> <div class="zi">1</div> ...
- [原创] 基于RDP的桌面广播
之前写过一篇使用C# UDP 组播技术做的桌面广播实现, C# 使用UDP组播实现局域网桌面共享.最终效果差强人意,UDP包在不同的交换机上发送还会出现发送失败的情况,所以又重新研究了一些新的方法,包 ...
- JavaScript中继承的实现
继承是类和类之间的关系,继承使得子类别具有父类别的属性和方法. js里常用的如下两种继承方式: 原型链继承(对象间的继承) 类式继承(构造函数间的继承) 由于js不像java那样是真正面向对象的语言, ...
- controller中,Failed to Initialize. Reason: TimeOut虚拟用花初始化超时
1.调整 Run-timesetting->Internet Protocol->references->Advaanced->Options 将HTTP-request co ...
- 查找无序数组中第K大的数
思路: 利用快速排序的划分思想 可以找出前k大数,然后不断划分 直到找到第K大元素 代码: #include <iostream> #include <algorithm> # ...
- ThinkPHP 多语言的实现
1.按照官方文档进行修改 2.注意区分项目语言包和系统语言包 3.实现语言包和数据库语言同步切换 4.thinkPHP多语言实现与Cookie有关, 谷歌浏览器下按F12查看Request Heade ...
- Python并发编-用Event,线程检测数据库连接的例子
尝试3次连接数据库 import time import random from threading import Thread,Event def connect_db(e): count = 0 ...
- poj——1986 Distance Queries
Distance Queries Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 14392 Accepted: 5066 ...
- 程序 查看 jvm版本
System.getProperty("java.version")返回你所需要的.