1、哈希:

输入任意长度,输出固定长度。

即判断是否哈希,即判断可不可变。

2、创建字典

(1)直接创建:dic={1:'a',2:'b',3:'c'}

(2)dict函数创建:

list=[(1,'a'),(2,'b')]
dic=dict(list1)
#dic={1:'a',2:'b'} list1=[1,2]
list2=['a','b']
dic1=dict(zip(list1,list2))
#dic1={1:'a',2:'b'},zip函数是将两个list映射对应的值

(3)fromkeys函数创建:(当给所有键赋同样的值可以用)

#建立一个空字典,调用它的fromkeys方法,有点多余
{}.fromkeys(['Niuyun','wangdachui','xiaohong'],3000)
#上面多余,可用dict调用该方法,dict是所用字典的类型
dict.fromkeys(['Niuyun','wangdachui','xiaohong'])
#{'Niuyun':None,'wangdachui':None,'xiaohong':None}

3、字典相关操作:假如dic是一个词典

(1)len(dic):返回键-值对的数量

(2)dic[k]:返回键k的值。推荐用dic.get(k),因为dic[k]中若k不存在,则会报错,dic.get(k)得到结果是None。

(3)del dic[k]:删除键为k的项。注意是项。如果在for k,v in dic.items()中删除【del dic[k]】会报错,因为在for中不能随意修改字典大小,故将可key变成列表,变量key。

如:

a = {'a':0,'b':1,'c':2}
keys = list(a.keys())
for k in keys: if k in a: if a[k] == 0: del a[k]

(4)dic.keys():输出所有的键

(5)dic.values():输出所有的值

dic.itervalues():输出所有值的一个迭代器,它没有len属性,与values()区别在此。values输出是一个列表,比较占内存,itervalues()输出是一个迭代器,占内存少。

(6)dic.items():相当于将字典变成列表:比如:

(7)dic.update(dic1):dic为原字典,dic1为更新字典,其中有修改和增加的人员,相当于将dic和dic1合并。

(8)使用min和max函数去找字典值中的最大值和最小值,

a,b=max(zip(dic.values(),dic.keys()))【此处是找dic值的最大值,并返回b为其对应的键值】

   a,b=max(zip(dic.keys(),dic.values()))  【此处是找dic键值的最大值,并返回a 为其对应的值。】

(9)对字典的值倒序排序:

  sorted(dic.items(),key=labmda item:item[1] ,reverse=True)

4、一个小例子:

将列表plist=[('AM','American','78.51'),('BA','Banana','184.76'),('CAT','categary','872')]的缩写项和数字项提取出来放入字典,即0和2项。

方法1:用zip方法

plist=[('AM','American','78.51'),('BA','Banana','184.76'),('CAT','categary','')]
list1=[]
list2=[]
for i in range(len(plist)):
list1.append(plist[i][0])
list2.append(plist[i][2])
dic1=dict(zip(list1,list2))
print(dic1)

方法2:直接序列解包

plist=[('AM','American','78.51'),('BA','Banana','184.76'),('CAT','categary','')]
dic2={}
for data in plist:
dic2[data[0]]=data[2]
print(dic2)

python笔记4----字典的更多相关文章

  1. Python笔记之字典循环

    Python笔记之字典循环   1.问题 Python是一门比较好入门的编程语言,但是入门简单,当然坑也是有的,今天就来介绍一个我遇到的坑吧,也是很简单的一个,就是当时脑子有点转不过弯来了. 先看代码 ...

  2. Python笔记4——字典的一些基本操作

    #字典 key-value #添加 my_family= {"father": "weihaiqing", "mother": " ...

  3. python笔记-dict字典的方法2

    #!/usr/bin/env python #-*- coding:utf-8 -*- ''' 概述: 使用键值(key-value)存储,具有极快的查找速度 注意:字典是无序的 key的特性: 1. ...

  4. python笔记-dict字典的方法

    #!/usr/bin/env python #-*- coding:utf-8 -*- #打印0001-9999的数字 for i in range(9999): s = "%04d&quo ...

  5. Python笔记:字典的fromkeys方法创建的初始value同内存地址问题

    dict中的fromkeys()函数可以通过一个list来创建一个用同一初始value的dict. d = dict.fromkeys(["苹果", "菠萝"] ...

  6. 嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=10211084839195730432#page=25 中的42-45讲 {字典}

    #coding=gbk#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av15123607/?from=search&seid=1021108 ...

  7. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  8. Python笔记——基本数据结构:列表、元组及字典

    转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...

  9. python学习笔记(三)---字典

    字典 在Python中,字典 字典 是一系列键 键-值对 值对 .每个键 键 都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将 任何Py ...

  10. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

随机推荐

  1. 项目部署到tomcat出错(tomcat运行时的JDK版本)

    先展示一下错误,把项目部署到tomcat运行 出错原因 简单来说,就是执行代码的jdk版本 低于 编译的jdk版本 最后面的52.0是一种叫什么魔码,有各自对应的jdk版本. 其中52.0 对应的就是 ...

  2. git 强制pull

    git fetch --all git reset --hard origin/master git pull

  3. Android Studio 导入的项目编码错误问题

    错误提示: Error:(4, 35) 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗? 解决方法: 1). 2). 的下面添加下面的一行语句: android{compileOptions.enco ...

  4. Swift学习——类的定义,使用,继承,构造等(五)

    Swift学习--类的定义,使用.继承,构造等(五) 类的使用说明 1 使用class和类名来创建一个类名,比如: class student 2 类中属性的声明和常量和变量一样,唯一的差别就是他们的 ...

  5. JavaFX本地应用自己主动更新功能的实现FXLauncher

    JavaFX本地应用自己主动更新功能的实现--FXLauncher 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一. ...

  6. Qt 3D的研究(十):描边渲染(轮廓渲染)以及Silhouette Shader

    Qt 3D的研究(十):描边渲染(轮廓渲染)以及Silhouette Shader 之前写了两篇文章,介绍了我在边缘检測上面的研究.实际上.使用GPU对渲染图像进行边缘检測.前提是须要进行两遍渲染.前 ...

  7. 【JEECG技术博文】Local storage & easyui extensions

    1. Local storage背景 cookie弊端:同域内http请求都会带cookie,添加带宽和流量:有个数和限制大小(约4K). 在HTML5中,本地存储是一个window的属性.包含loc ...

  8. session 的工作原理

    session.cookie_domain session.cookie_path session.name session.save_path session.use_cokies session_ ...

  9. luogu1313 计算系数

    题目大意:给定一个多项式(ax+by)^k,请求出多项式展开后x^n*y^m 项的系数. 将原式化为(ax+by)*(ax+by)*...①,然后将其拆解,拆解时x乘了多少次,a就乘了多少次,y,b同 ...

  10. python基于selenium+cv2+numpy实现登录某大型电商系统

    首先贴上我的安装包 一.selenium安装 I.打开pycharm,点击Settings,找到Project Interpreter,点击右边的下拉菜单下的show All...选项 II.点击sh ...