Python学习笔记——Day3
Python字典(Dictionary)
字典是一种可变容器模型,可存储任意类型对象。
字典的每个键值(key => value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下所示:
d = {key1 : value1, key2 : value2 }
字典的特点:
键必须是唯一的,但值则不必唯一。
值可以取任何数据类型,但键必须是不可变的类型。
不可变类型:数字、字符串、元组;
可变类型:列表、字典。
字典中键值是无序的。
1、创建字典
方法1:
dic = {'ID':'','name':'oliver','age':
输出
{'name': 'oliver', 'age': , 'ID': ''}
方法2:
dic = dict((('ID',''),)) #括号后的逗号表示第二对括号里边是一个序列
输出:
{'ID': ''}
2、访问字典
通过key去查找。
例1:
dic = {'ID':'','name':'oliver','age':}
print(dic['name'])
输出:
oliver
例2:
dic = {'ID':'','name':'oliver','age':}
print(list(dic.keys()))
输出:
['age', 'ID', 'name']
例3:
dic = {'ID':'','name':'oliver','age':18}
print(list(dic.values()))
输出:
18, '', 'oliver']
例4:
dic = {'ID':'','name':'oliver','age':18}
print(list(dic.items()))
输出:
[('ID', ''), ('age', 18), ('name', 'oliver')]
2、更新字典
若不存在,将dic2中的键值加入dic;若存在,则更新值
dic = {'ID':'','name':'oliver','age':18}
dic2 = {'':'','':''}
dic.update(dic2)
print(dic)
输出:
{'age': 18, 'ID': '', '': '', 'name': 'oliver', '': ''}
2、删除字典
清空字典
dic = {'ID':'','name':'oliver','age':18}
print(dic.clear())
输出:
None
删除键值对
dic = {'ID':'','name':'oliver','age':18}
del dic['name']
print(dic)
输出:
{'age': 18, 'ID': ''}
删除整个字典
del dic5
print(dic5)
输出:
name 'dic5' is not defined
删除键值对,并返回该key对应的值
dic = {'ID':'','name':'oliver','age':18}
print(dic.pop('age'))
输出:
18
{'ID': '', 'name': 'oliver'}
随机删除键值对,并以元组的形式返回删除的键值对
a = dic.popitem()
print(a,dic)
输出:
('ID', '') {'age': 18, 'name': 'oliver'}
setdefault()
如果字典中存在此key,则不做修改;如果不存在,则添加键值。该方法还可以返回添加的值。
dic = {'ID':'','name':'oliver','age':18}
ret = dic.setdefault('hobby','film')
print(dic)
print(ret)
输出:
{'name': 'oliver', 'ID': '', 'hobby': 'film', 'age': 18}
film
fromkeys()
创建一个新字典。
dic6=dict.fromkeys(['host1','host2','host3'],'test')
print(dic6)
输出:
{'host2': 'test', 'host1': 'test', 'host3': 'test'}
sorted()
将字典中的键进行排序。
dic = {111:'aa',554:'bb',211:'ds',121:'asdf'}
print(sorted(dic))
输出:
[111, 121, 211, 554]
按照键对字典进行排序。
dic = {111:'aa',554:'bb',211:'ds',121:'asdf'}
print(sorted(dic.items()))
输出:
[(111, 'aa'), (121, 'asdf'), (211, 'ds'), (554, 'bb')]
has_keys()
Python 2中使用has_keys()判断指定的key在字典中是否存在。存在则返回True。
dic={5:'',2:'',4:''}
dic.has_keys(5)
Python 3中的判断方法:
print(5 in dic)
3、字典遍历
dic = {'ID':'','name':'oliver','age':18}
for i in dic:
print(i,dic[i])
输出:
name oliver
age 18
ID 123124
Python学习笔记——Day3的更多相关文章
- [python学习笔记]Day3
函数 如: def is_leapyear(year): if (year%4 == 0 and year%100 != 0) or (year%400 == 0): return True else ...
- Python学习笔记 - day3 - 数据类型及运算符
Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...
- python学习笔记Day3
set有点:1.访问速度快 2.天生解决了重复问题 tuple与set区别: 元组可重复,set不可重复创捷集合1 >>> s1.add('alex')>>> pr ...
- 【目录】Python学习笔记
目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
随机推荐
- 使用easyui时 进入一个新页面 前要经过一个页面混乱的时候 才到正常的页面去
var width = $(window).width(); var height = $(window).height(); var html = "<div id='loading ...
- null 和 undefined 的区别
null表示"没有对象",即该处不应该有值. (1) 作为函数的参数,表示该函数的参数不是对象. (2) 作为对象原型链的终点. undefiend 就是一个缺少值,此处应该有的值 ...
- MVP -----个人理解与示例(android例子 实现)
MVP 也就是Model View Presenter模式,是建立一个工程的一种模式. ======================================================== ...
- WPF:ListView 分组合并
CollectionViewSource 绑定的是从数据库取出的数据ListBind 以DeptName为分组依据 <Window.Resources> <CollectionVie ...
- android 导入自己的生成的jar,老是 could not find class
最近开始学习android,开发一个小项目,功能很简单,就是从服务器上获取数据,之后显示在手机上.打算把访问服务器的功能打包成一个jar文件.然后android 引入jar包. 在eclipse 里 ...
- Java小bug
1.使用split函数,将字符串按"."分开,写法如下: String str = "a.b.c"; String[] items = str.split(&q ...
- WCF初探-10:WCF客户端调用服务
创建WCF 服务客户端应用程序需要执行下列步骤: 获取服务终结点的服务协定.绑定以及地址信息 使用该信息创建 WCF 客户端 调用操作 关闭该 WCF 客户端对象 WCF客户端调用服务存在以下特点: ...
- $('div','li'),$('div , li'),$('div li')的区别
要搞清楚$('div','li') 和 $('div , li') 和 $('div li') 区别: $('div','li'):是$(子,父),是从父节点里找子,而不是找li外面的div $('d ...
- [转]HttpURLConnection的使用
/* * URL请求的类别分为二类,GET与POST请求.二者的区别在于: * a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, * b:) post与get ...
- IT公司100题-27-跳台阶问题
问题描述: 一个台阶总共有n阶,一次可以跳1级或者2级.求总共有多少种跳法. 分析: 用f(n)表示n阶台阶总共有多少种跳法.n阶台阶,第一可以选择跳1阶或者2阶,则f(n) = f(n-1) + ...