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在代码运行之前先检测变量名,可以当成是最初的赋值创建了变量. ...
随机推荐
- 以Docker容器方式安装Ceph
获取Ceph的Docker镜像 因为公司对于网络环境的限制,安装ceph时使用ceph-deploy反而很不方便,且ssh免密码方式也不适用,所以使用docker方式安装. Git地址 https:/ ...
- Oracle与MySQL连接配置
MySQL: Driver: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/GBDSPT(数据库名称) Oracle: Driver:o ...
- Java学习(API及Object类、String类、StringBuffer字符串缓冲区)
一.JAVA的API及Object类 1.API 概念: Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就 ...
- day2 购物商城
购物商城 商品展示.价格 买,加入购物车 付款,钱不够.(减商品,充值)
- 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 F - 打铁的箱子
题目描述 作为彩虹岛上最擅长打铁的人,
- 在ASP.NET中实现图片、视频文件上传方式
一.图片 1.在前端用<asp:FileUpload ID="UpImgName" runat="server"/>控件 2.在后台.cs中写上 p ...
- python 爬取世纪佳缘,经过js渲染过的网页的爬取
#!/usr/bin/python #-*- coding:utf-8 -*- #爬取世纪佳缘 #这个网站是真的烦,刚开始的时候用scrapy框架写,但是因为刚接触框架,碰到js渲染的页面之后就没办法 ...
- 邝斌带你飞之数论专题--Maximum GCD UVA - 11827
Given the N integers, you have to find the maximum GCD (greatest common divisor) of every possible p ...
- [HNOI2008]玩具装箱TOY --- DP + 斜率优化 / 决策单调性
[HNOI2008]玩具装箱TOY 题目描述: P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京. 他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器 ...
- HDU 6084 寻找母串(卡特兰数)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6084 [题目大意] 对于一个串S,当它同时满足如下条件时,它就是一个01偏串: 1.只由0和1两种 ...