字典(dict)

一、定义:字典类型在其他语言中又称为map,是一种映射类型,并且{key:value}无序,其关键字必须为不可变类型(如:元组/字符串),在同一个字典中关键字必须互不相同(若出现相同关键字,则以第一个为准)

二、操作

1.创建:

dic={}  #创建一个空字典

dic={'Jack':1234,'Tom':1226}

2.引用与修改:

(1)试探取值:dic.get('age') #试探字典中是否存在age这个键,若不存在则返回None

(2)显示引用并修改:dic['age']=1238

3.删除与清空:

(1)删除某对键值:del dic['age']    或者    dic.pop('age')

(2)删除整个字典:del dic

(3)清空字典(并不是删除字典):dic.clear()

4.合并字典:

(1)直接在原字典上修改:dic1.update(dic2)  #dic1被修改了

(2)两个字典的key作为新字典的键值对:dict(zip(dic1,dic2))

5.取keys/values/items操作:

dic={'a':1,'b':2}

list(dic.keys())   #返回key的列表

list(dic.values()) #返回value的列表

list(dic.items())  #返回键值对的列表

6.长度测量:len(dict)  #返回的是字典的键值对个数

7.成员测试:'a' in dic  #测试键'a'是否在字典中,若是返回True

8.遍历字典:

(1)按key遍历:

for key in dic.keys():

  print(key)

(2)按value遍历:

for value in dic.values():

  print(value)

(3)按键值对遍历:

for item in dic.items():

  print(item)

(4)按元素(项)进行遍历:#返回的是一个个键值对的元组形式

for key,value in dict.items():

  print("key=%s,value=%s"%(key,value))

9.字典构造:

(1)格式强制转换:dict([]) 或 dict(a=1,b=2)

(2)字典解析:{x:x**2 for x in (2,3,4)}

10.字典的应用:

(1)字典的嵌套处理更复杂的数据结构

(2)针对映射方式取值(比C中的数组更加强大)

Python课程之字典的更多相关文章

  1. python课程第二周重点记录

    python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...

  2. 尚学python课程---14、python中级语法

    尚学python课程---14.python中级语法 一.总结 一句话总结: var[1:5] 访问模式:比如字符串,比如列表元祖,字典等 del 删除模式:比如列表.元祖.字典 1.Python的N ...

  3. 尚学python课程---13、python基础语法

    尚学python课程---13.python基础语法 一.总结 一句话总结: legend2系统使我能够快速掌握一门语法,特别有用 pass 语句:空语句:是为了保持程序结构的完整性  :作用:比如: ...

  4. python基础之字典、集合

    一.字典(dictionary) 作用:存多个值,key-value存取,取值速度快 定义:key必须是不可变类型,value可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...

  5. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  6. Python基础知识---字典

    现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典:  key --> valu ...

  7. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  8. python中 字符 字典 列表之间的转换

    1 字典 转 字符 定义一个字典:dict = {'name': 'python', 'age': 7}字典转字符 可以使用str强制转换 如: str(dict) 此时dict的类型就是字符型了 2 ...

  9. Python课程学习总结

    Python的介绍 Python是一种高级动态.完全面向对象的语言,函数.模块.数字.字符串都是对象,并且完全支持继承.重载.派生.多继承,有益于增强源代码的复用性. Python是一种计算机程序设计 ...

随机推荐

  1. AMQ学习笔记 - 08. Spring-JmsTemplate之发送

    概述 JmsTemplate提供了3组*3,共计9个发送用的方法.   发送的方法有3组: 基本的发送 转换并发送 转换.后处理再发送 必需的资源 必需的资源有: javax.jms.Connecti ...

  2. 区间DP【p2858】[USACO06FEB]奶牛零食Treats for the Cows

    Description 约翰经常给产奶量高的奶牛发特殊津贴,于是很快奶牛们拥有了大笔不知该怎么花的钱.为此,约翰购置了N(1≤N≤2000)份美味的零食来卖给奶牛们.每天约翰售出一份零食.当然约翰希望 ...

  3. PL SQL 基础

    Oracle之PL/SQL学习笔记   自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整 ...

  4. bzoj 2163: 复杂的大门

    2163: 复杂的大门 Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 418  Solved: 259[Submit][Status][Discuss ...

  5. 【分块】bzoj1858 [Scoi2010]序列操作

    分块 Or 线段树 分块的登峰造极之题 每块维护8个值: 包括左端点在内的最长1段: 包括右端点在内的最长1段: 该块内的最长1段: 该块内1的个数: 包括左端点在内的最长0段://这四个是因为可能有 ...

  6. 【对询问分块】CODEVS1080 线段树练习

    #include<cstdio> #include<cmath> using namespace std; #define N 100001 int sum[N],a[N],n ...

  7. 金融应用,计算将来的学费 Exercise05_07

    /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:金融应用,计算将来的学费 * */ public class Exercise05_07 { public static vo ...

  8. NSPredicate 谓词总结 数组过滤 模糊匹配

    NSPredicate 用于指定过滤条件,主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配. NSPredicate常用方法介绍 1.创建NSPredicate(相当于创建一个过滤条件 ...

  9. iOS数据库操作(使用FMDB)

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  10. redis系列文章

    http://blog.csdn.net/liubenlong007/article/details/53690103