1、字典是Python中=唯一的映射类型。映射类型对象里哈希值(键,key)和只指向的对象(值,value)是一对多的关系,一个字典是可变的,是一个容器类型。字典类型和序列类型(元组,列表)的不同在于存储和访问数据的方式不同。序列类型只用数字类型的键。映射类型可以用其他对象类型左键,一般最常见的是用字符串左键。映射类型中的数据是无序排列的。
2、字典用{}来建立,内建函数 dict()  或者一个方便的内建函数fromkey()可以创建一个‘默认’字典,字典里元素具有相同的值。
ddict={}.fromkey(('x','y'),1)
ddict:{'y':1,'x':1}
访问:dict1={'name':'earth','port':80}
>>> for key in dict1:
    print ('key=%s, value=%s' %(key,dict1[key]))
key=name, value=earth
key=port, value=80
 3、字典是可变的,但是字典里面的键不允许改变!
4、如何更新字典:你可以 添加一个新数据项或新元素(键值对);修改一个已经存在的数据项,或者删除一个已经存在的数据项。
5.字典的比较算法:先比较字典的大小,然后是键,最后是值。
6.update()方法可以将一个字典的内容添加到另外一个字典中。字典中原来有的键与新添加的键重复,重复的键所对应的内容被新建所对应的内容覆盖掉。原来不存在的条目会添加到字典中。
setdefault()方法:检查字典中是否存在某键,若存在,则可以取到它的值,如果找不到,你可以给这个键赋默认值并返回该值。
key()  items()  values()都是其内建函数,返回的都是列表
7、字典的键:
(1)不允许一个键对应多个值
(2)键必须是可哈希的,像列表和字典这样可变类型,是不可哈希的,因此不能作为键。所有的不变类型都是可哈希的。
 例子:管理用户名和密码的模拟登陆数据系统

db={}
def newuser():
prompt='login desired:'
while True:
username=input(prompt)
if username in db:
prompt='name taken,try another:'
continue
else:
break
password=input('please enter password:')
db[username]=password def olduser():
username=input('please enter username:')
password=input('please enter password:')
psw=db.get(username)
if password==psw:
print ('Welcome back %s' % username)
else:
print ('login incorrect!')
def showmenu():
prompt='''
(N)ew User Login
(O)ld User Login
(Q)uit
Please enter your choice
'''
done=False
while not done:
chosen=False
while not chosen:
try:
choice=input(prompt).strip()[0].lower()
except (EOFError,KeyboardInterrupt):
choice='q'
print ('\nYou picked:[%s]' %choice)
if choice not in 'noq':
print ('Invaild option, try again ')
else:
chosen='True'
if choice=='q':
done=True
if choice=='n':
newuser()
if choice=='o':
olduser() if __name__=='__main__':
showmenu()

Python字典笔记的更多相关文章

  1. Python字典--笔记

    <Python3程序开发指南> 映射:键-值数据项的组合 Python3支持两种无序的映射类型:内置的dict类型.标准库中的collections.defaultdict类型. Pyth ...

  2. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  3. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

  4. 【python学习笔记】4.字典:当索引不好用时

    [python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...

  5. Python学习笔记3-Python元组、数组、字典集合的操作

    在Python中数组中的每一项可以是不同的数据类型 元组:只能读不能写的数组 aTuple=(1,'abc','tmc',79.0,False) print aTuple[1:3] print typ ...

  6. Python学习笔记(七)—字典的学习

    总结内容: 1.字典的定义 2.字典的好处 3.字典的增删改查 4.字典常用方法及内置函数 5.字典的多层嵌套 6.字典的循环 7.字典小练习 1.字典的定义 字典是另一种可变容器模型,且可存储任意类 ...

  7. python学习笔记:第五天( 字典)

    Python3 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格 ...

  8. Python学习笔记(字典)

    今天学习一个python中的基本类型--字典(dictionary) 字典这种数据结构有点像我们平常用的通讯录,有一个名字和这个名字对应的信息.在字典中,名字叫做“键”,对应的内容信息叫做“值”.字典 ...

  9. [Python爬虫笔记][随意找个博客入门(一)]

    [Python爬虫笔记][随意找个博客入门(一)] 标签(空格分隔): Python 爬虫 2016年暑假 来源博客:挣脱不足与蒙昧 1.简单的爬取特定url的html代码 import urllib ...

随机推荐

  1. maven学习之二M2_HOME简介

    在<maven学习之一>中介绍了M2_HOME指向了maven的安装目录,如下图: weiwan..................

  2. hdu 2053

    Ps:找规律题....凡是平方数都是开...WA了一次..数组给的太小?...后来给到3000..就AC了 代码: #include "stdio.h"long long dp[3 ...

  3. PHP、C++的重载

    首先明确一点:PHP重载是用在面向对象的类当中,而不支持函数重载. 这点与C++不一样,在C++当中,重载可以用于面向过程和面向对象,而且方法也不一样. 在C++中,重载适用于当函数名相同时,函数所需 ...

  4. bootstrap菜单完美解决---原创

    由于bootstrap的各方优点,偶的“点金项目细化分包管理平台”决定采用它.但在使用中遇到了一些问题,比如菜单的问题,这个菜单是用的一个JQuery的一个效果,点击后,所点击的链接处的class要加 ...

  5. 【Tsinghua OJ】祖玛(Zuma)问题

    描述 祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干个彩色珠子,其中任意三个相邻的珠子不会完全同色.此后,你可以发射珠子到轨 道上并加入原有序列中.一旦有三个或更多同色的珠子变成相 ...

  6. UITableView详解(2)

    承接上文,再续本文 一,首先我们对上次的代码进行改进,需要知道的一点是,滚动视图的时候,我们要创建几个视图,如果一个视图显示一个图片占据整个屏幕,对于滚动视图我们只需要创建三个视图就可以显示几千给图片 ...

  7. Unity3D ShaderLab 使用渐变纹理着色

    Unity3D ShaderLab 使用渐变纹理着色 在我们编写着色器的过程中,还可以通过渐变纹理来控制漫反射的光照颜色.这种做法同样在VALVE的军团要塞2中及其流行. 前期,请准备一个渐变色的图片 ...

  8. Quirks模式是什么?

    什么是DOCTYPE: DOCTYPE,或者称为 Document Type Declaration(文档类型声明,缩写 DTD).通常情况下,DOCTYPE 位于一个 HTML 文档的最前面的 位置 ...

  9. java学习第九天

    目标 异常(5个关键字 throw try catch finally throws ) 一.概念 异常: 非正常情况,例外.人为什么会生病?内因+外因.内因: 身体不够健壮—>锻炼身体增强体质 ...

  10. 解决两台虚拟机互ping可通,但connect失败

    问题描述: 在UNP一书中实例中,采用两台不同的虚拟机.即一台虚拟机作为服务端,另外一台虚拟机作为客户端. 现象: 两台电脑各自互ping可通 客户端访问local可行 客户机访问服务端报错:No r ...