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. python读取txt打印(print)出乱码的问题

    如下图所示,print第一行首位出现乱码的问题 网上的解答是因为UTF-8的BOM前缀(\xef\xbb\xbf) 解决这个问题的方法很多,最快捷的方法是txt文本另存为的时候更改编码格式 将txt另 ...

  2. 【置顶】入驻百家号【九哥聊IT】和【九哥九嫂小日子】,欢迎关注

    欢迎大家关注. 1.关注百家号[九哥聊IT],每天专注讲解互联网最新资讯和知识分享.2.关注百家号[九哥九嫂小日子],带你看下班之外的九哥.

  3. 最小环(floyd以及dijkstra实现+例题)

    最小环定义 最小环是指在一个图中,有n个节点构成的边权和最小的环(n>=3). 一般来说,最小环分为有向图最小环和无向图最小环. 最小环算法: 直接暴力: 设\(u\)和\(v\)之间有一条边长 ...

  4. pku-3321 Apple Tree(dfs序+树状数组)

    Description There is an apple tree outside of kaka's house. Every autumn, a lot of apples will grow ...

  5. 如何用Git.io来生成自定义后缀名的短网址

    如何用Git.io来生成自定义后缀名的短网址 git.io是Github的官方短网址,它是用来缩短Github上项目的网址. 效果:Git.io/wacsh将会跳转到https://xhemj.git ...

  6. Hyper-V虚拟机设置外部网络访问

    在Hyper-V管理器中新建一个虚拟交换机,类型为 内部 ,修改名称为 nat 在虚拟机的设置页面中,将网络适配器设置为新建的虚拟交换机 nat 打开win10->控制面板->网络和共享中 ...

  7. alert弹出窗口,点击确认后关闭页面

    alert("点击确认后,关闭页面"); window.opener=null;window.top.open('','_self','');window.close(this);

  8. ubuntu16.04(其他版本也可)批量修改图片名---shell编程

    在windows系统中有很多好用的图片排序软件,可以批量的进行图片排序.然而在ubuntu中,图片排序只能自己写一个shell脚本,编写shell代码.下面是具体的操作步骤.(1).新建一个renam ...

  9. CCF_ 201512-3_画图

    直接模拟就行了,注意坐标系方向与平常数组不一样,填充操作用深搜和广搜都可以,这里用了广搜. #include<iostream> #include<cstdio> #inclu ...

  10. Codeforces gym101755F Tree Restoration(拓扑排序)

    题意: 一棵树,给出每个点的后代们,问你这棵树是否存在,存在就给出这棵树 n<=1000 思路: 对祖先->后代建立有向图,跑拓扑排序.跑的时候不断更新父亲并判断答案的存在性,同时注意一种 ...