今天学习一个python中的基本类型--字典(dictionary)

字典这种数据结构有点像我们平常用的通讯录,有一个名字和这个名字对应的信息。在字典中,名字叫做“键”,对应的内容信息叫做“值”。字典就是一个键/值对的集合。

它的基本格式是:d = {key1 : value1, key2 : value2 }

键/值对用冒号分割,每个对之间用逗号分割,整个字典包括在花括号中。

关于字典的键要注意的是:

1.键必须是唯一的;

2.键只能是简单对象,比如字符串、整数、浮点数、bool值。

list就不能作为键,但是可以作为值。

举个简单的字典例子:

score = {

'萧峰': 95,

'段誉': 97,

'虚竹': 89

}

python字典中的键/值对没有顺序,我们无法用索引访问字典中的某一项,而是要用键来访问。

print score['段誉']

注意,如果你的键是字符串,通过键访问的时候就需要加引号,如果是数字作为键则不用。

字典也可以通过for...in遍历:

for name in score:

print score[name]

注意,遍历的变量中存储的是字典的键。

如果要改变某一项的值,就直接给这一项赋值:

score['虚竹'] = 91

增加一项字典项的方法是,给一个新键赋值:

score['慕容复'] = 88

删除一项字典项的方法是del:

del score['萧峰']

注意,这个键必须已存在于字典中。

如果你想新建一个空的字典,只需要:

d = {}

Python学习笔记(字典)的更多相关文章

  1. Python学习笔记-字典

    字典是python中唯一内建的映射类型. 创建字典phonebook = {'Alice':'2341','Beth':'9102'} 可以使用dict通过其他映射或者键值对的序列建立字典.关键值参数 ...

  2. Python学习笔记——字典

    1.创建字典和给字典赋值,可以使用工厂方法dict()来创建字典,也可以使用fromkeys()来创建一个元素具有相同值的字典 >>> dict = {'name':'XiaoMin ...

  3. python学习笔记——字典操作

    修改 a={'add':"shanghao","name":"zhangdong"} a['name']='zhangsan' 添加 a={ ...

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

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

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

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

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

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

  7. 《python基础教程(第二版)》学习笔记 字典(第4章)

    <python基础教程(第二版)>学习笔记 字典(第4章)创建字典:d={'key1':'value1','key2':'value2'}lst=[('key1','value1'),(' ...

  8. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  9. Python学习笔记(十四)

    Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...

随机推荐

  1. 剑指Offer:二叉树打印成多行【23】

    剑指Offer:二叉树打印成多行[23] 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 题目分析 Java题解 package tree; import java.uti ...

  2. 重新实践c++primer上面的代码

    又重新敲了敲c++primer上面的代码,觉得很有意思,讲的很细,c++真牛逼啊 #include <iostream> #include <string> #include ...

  3. Compiling: main.cpp /bin/sh: g++: not found

    Kbuntu用codeblocks编写C程序的时候,编译报错如下: Compiling: main.cpp/bin/sh: g++: not found 解决方法: sudo apt-get inst ...

  4. SecureCRT连接Ubuntu失败(远程系统拒绝访问)

    SecureCRT连接Ubuntu失败,长时间的重新连接,连接不了. Ubuntu默认未安装ssh远程加密连接服务. 使用命令,安装即可. sudo apt-get install openssh-s ...

  5. nginx应用 突破高并发的性能优化

    摘自:http://www.cnblogs.com/kevingrace/p/6094007.html 在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题. ...

  6. java 创建 HMAC 签名

    ava 创建 HMAC 签名 psd素材 1. []ComputopTest.java package com.javaonly.hmac.test; import java.io.IOExcepti ...

  7. java中indexOf()

    Java中字符串中子串的查找共有四种方法,如下:1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引. 2.int indexOf(String str ...

  8. 用gdisk调整gpt/ext4分区大小

    主机: CentOS release 6.4 (Final) 目的:从/home分区分出100G来创建新分区/vm 参考: http://ryanclouser.com/?p=66 http://fa ...

  9. HihoCoder1333 :平衡树(splay+lazy)(区间加值,区间删除)

    描述 小Ho:好麻烦啊~~~~~ 小Hi:小Ho你在干嘛呢? 小Ho:我在干活啊!前几天老师让我帮忙管理一下团队的人员,但是感觉好难啊. 小Hi:说来听听? 小Ho:事情是这样的.我们有一个运动同好会 ...

  10. poj3017 Cut the Sequence[平衡树+单调队列优化]

    这里已经讲得很清楚了. 本質上是決策點與區間最大值有一定關係,於是用单调队列来维护决策集合(而不是常规的),然后在决策集合中选取最小值. 然后觉得这题方法还是很重要的.没写平衡树,用优先队列(堆)来维 ...