python中字典是个很重要的功能,使用键值(key-value)存储,具有极快的查找速度。值得注意的是,字典的key要为不可变对象,比如字符串、字母,但不能是可变的,比如列表等。

1、字典的定义:

a.定义空字典:可以使用花括号或者调用dict函数来创建
>>> dic={}
>>> dic=dict()
>>> b.定义具有初始值的字典:
>>> dic={'name':'柴振华','age':23}
>>> dic={sex='man'} #这种方式更优雅一些,但是变量除外,eg: key='name' dic={key='chai'},这样他是那不到key对应的值的
>>> c.打印字典中的内容:
>>> print(dic)
{'name': '柴振华', 'age': 23}
>>> d.添加一个记录:
>>> dic['job']='student'
>>> print(dic)
{'name': '柴振华', 'age': 23, 'sex': 'man', 'job': 'student'}
>>> e.更新一条记录:
>>> dic['name']='张三' #同一个key只能对应一个值,后面的值会把前面的值覆盖掉
>>> print(dic)
{'name': '张三', 'age': 23, 'sex': 'man', 'job': 'student'}
>>> f.删除一条记录:指定确切的key删除
>>> dic.pop('sex') #删除key的同时对应的value也一起被删除
>>> print(dic)
{'name': '张三', 'age': 23, 'job': 'student'}
>>> >>> del dic['job'] #调用python的del来删除
>>> print(dic)
{'name': '张三', 'age': 23}
>>> g.随机删除一条记录:
>>> dic.popitem()
('name', '张三') #表示删除了这个k/v
>>>

2、字典的其他操作:

a、获取字典中所有的key:
>>> dic={'name' : '张三','age':23,'job':'teacther'}
>>> dic.keys()
dict_keys(['name', 'age', 'job'])
>>> b、获取字典中所有的value:
>>> dic.values()
dict_values(['张三', 23, 'teacther'])
>>> c、获取字典中所有的key和values
>>> dic.items()
dict_items([('name', '张三'), ('age', 23), ('job', 'teacther')])
>>> d、使用循环遍历读取字典:
读取所有key:
>>> for key in dic.keys():
... print(key)
...
name
age
job
>>> 读取所有value:
>>> for value in dic.values():
... print(value)
张三
23
teacther
>>> 读取所有k/v:
>>> for key,value in dic.items():
... print(key,':',value)
...
name:张三
age:23
job:teacther
>>>

3、快速创建具有初始值的字典:fromkeys()

    fromkeys()函数用于创建一个新字典,以序列seq中的元素做字典的键,value为字典所有键的初始值
语法: dict.fromkeys(seq,[,value])
>>> li=['key1','key2','key3']
>>> dic=dict.fromkeys(li,3)
>>> dic
{'key1': 3, 'key2': 3, 'key3': 3}
>>> dic=dict.fromkeys(li,[2,3,4,])
>>> dic
{'key1': [2, 3, 4], 'key2': [2, 3, 4], 'key3': [2, 3, 4]}

python基础之字典功能的更多相关文章

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

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

  2. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  3. python基础之字典、集合

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

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

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

  5. python基础_字典_列表_元组考试_day4

    1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain'] li=['alex','eric','rain'] v="_".jo ...

  6. python基础5 字典

    一.字典 字典是python的基础数据类型之一:字典可以存储大量的数据,关系型数据. 同样他也是python中唯一的映射类的数据类型. 数据类型的分类: 可变的(不可哈希)数据类型:list,dict ...

  7. Python 全栈开发二 python基础 字符串 字典 集合

    一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...

  8. Python基础__字典、集合、运算符

    之前讨论的字符串.列表.元组都是有序对象,本节则重点讨论无序对象:字典与集合.一.字典 列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系.例如L=['I' ...

  9. python基础(字典)

    #实现同样的功能,代码越少越好#非空即真,非0即真#not 取反 a = []b = ' 'c = ()d = 0e = Noneif a: print('真的')else: print('假的') ...

随机推荐

  1. CAS的ABA问题详解

    CAS的ABA问题详解 ABA问题 在多线程场景下CAS会出现ABA问题,关于ABA问题这里简单科普下,例如有2个线程同时对同一个值(初始值为A)进行CAS操作,这三个线程如下 1.线程1,期望值为A ...

  2. HDU 3839 Ancient Messages(DFS)

    In order to understand early civilizations, archaeologists often study texts written in ancient lang ...

  3. C语言博客作业6

    本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 作业链接 我在这个课程的目标是 熟悉多分支结构.字符型数据类型和逻辑运算符 这个作业在那个具体方面帮助我实现目标 完成pta作 ...

  4. SpringCloud与微服务系列专栏

    一. 前置知识 学习SpringCloud之前需要具备和掌握如下框架和工具的使用:SpringMVC,Spring,Spring Boot,Mybatis,Maven,Git. SpringCloud ...

  5. 我的一个react路由之旅(步骤及详图)

    今天开始react一个重要部分的xiao~习,路由~(过程截图,最后附代码) 以下代码只能骗糊涂蛋子,没错,就是我自己,不要打算让我敲出多高级的东西~ 理论性知识几乎没有,请不要打算让我给你说原理啥的 ...

  6. ubuntu以root身份登录

  7. 用goaccess实现可视化并实时监控access日志

    goaccess access.log -o ../html/report.html --real-time-html time-format='%H:%M:%S' --date-format=‘%d ...

  8. LUA学习笔记(第1-4章)

    需要一种简单的脚本语言来代替批处理,它需要足够小巧,同时功能上也应该足够强劲,自然选择了LUA语言. 第一章 Hello World print('Hello World') print(" ...

  9. BZOJ1257 [CQOI2007]余数之和 (数论分块)

    题意: 给定n, k,求$\displaystyle \sum_{i=1}^nk\;mod\;i$ n,k<=1e9 思路: 先转化为$\displaystyle \sum_{i=1}^n(k- ...

  10. SpringBoot之ApplicationRunner接口和@Order注解

    我们在开发中可能会有这样的情景.需要在容器启动的时候执行一些内容.比如读取配置文件,数据库连接之类的.SpringBoot给我们提供了ApplicationRunner接口来帮助我们实现这种需求.该接 ...