Python 字典dict相关知识
- 字典是无序的,多次print输出的结果不一样。
- 字典的key可以是数字、字符串、元组、布尔值(True为1,False为0,不可以和其他key值重复);列表和字典不能作为key。
- 字典的value可以是任何类型。
- 字典支持del方法删除。
- 字典支持for循环,是可迭代对象,不支持while循环。
- 输出字典所有的key:
for item in info.keys():
print(item) - 输出字典所有的值:
for item in info.values():
print(item) - 输出字典所有的键值对:
for k, v in info.items():
print(k, v) - info.clear( ) | 清空字典
- info.copy( ) |浅拷贝
- dict.fromkeys( *args, **kwargs ) |这是一种静态方法@staticmethod。根据序列创建字典,并给其指定统一值。 像此类静态方法调用时,用类名.方法名就可以。
前面带两个*时,表示这里可以用name=“…”的形式穿入参数,也可以直接传入字典。>>> new_dict = dict.fromkeys(['k1',123,''],123)
>>> print(new_dict)
{'k1': 123, 123: 123, '': 123} - info.get( ) |get能直接根据索引号来获取该索引号对应的值,和直接用info['k1']不同的是,当输入的索引号不存在时,info['K1']会报错,但是get会输出None,并且可以设置当索引号不存在时应该输出的默认值。
>>> info = {'K1':123,'k2':890}
>>> v = info.get('k1111',222)
>>> print (v)
222 - info.pop( ) |删除值并且得到删掉的值。
>>> info = {'K1':123,'k2':890}
>>> v = info.pop('K1')
>>> print (info, v)
({'k2': 890}, 123) - info.popitem( ) |此方法不带参数,是指随即删除字典里的一个键值对,并获取删掉的键值对的值。
>>> info = {'K1':123,'k2':890}
>>> k, v = info.popitem()
>>> print(info, k, v)
({'K1': 123}, 'k2', 890) #随机删掉了K2键值对 - info.setdefault( ) |当setdefault参数中设置的键在字典中存在时,不作修改,并且获得该键在字典中对应的值,当setdefault参数的键在字典中不存在时,则把setdefault设置的键值对添加到字典中,并且获得该键对应的值。
>>> info = {'K1':123,'k2':890}
>>> v = info.setdefault('k11111',666) #这是当参数的键在字典中不存在时,结果把参数设置的键值对添加到了字典中,并且返回了该键对应的值。
>>> print(info, v)
({'k2': 890, 'K1': 123, 'k11111': 666}, 666) - info.update( ) |更新字典的内容,对原来存在的键覆盖其值,对原来不存在的键值对添加到字典中。
>>> info = {'k1':123,'k2':890}
>>> info.update({'k1': 11111,'k3':'hdjkdl'}) #这里参数传入的是一个字典
>>> print(info)
{'k3': 'hdjkdl', 'k2': 890, 'k1': 11111}>>> info = {'k1':123,'k2':890}
>>> info.update(k1=11111,k3='hdjkdl') #或者也可以以这种方式传入参数和值
>>> print(info)
{'k3': 'hdjkdl', 'k2': 890, 'k1': 11111} - 字典默认for循环时,循环的是key值,不是value
>>> dic = {'k1':'v1'}
>>> 'k1' in dic #键是True
True>>> dic = {'k1':'v1'}
>>> 'v1' in dic #值是False
False - 布尔值
转换为布尔值:bool( )
布尔值为False的类型: None, " ", ( ), { }, 0 ,其他都为真
Python 字典dict相关知识的更多相关文章
- python字典dict的增、删、改、查操作
## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...
- Python 字典 dict() 函数
描述 Python 字典 dict() 函数用于创建一个新的字典,用法与 Pyhon 字典 update() 方法相似. 语法 dict() 函数函数语法: dict(key/value) 参数说明: ...
- 'dict_values' object does not support indexing, Python字典dict中由value查key
Python字典dict中由value查key 众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句 ...
- python 字典dict - python基础入门(15)
前面的课程讲解了字符串str/列表list/元组tuple,还有最后一种比较重要的数据类型也需要介绍介绍,那就是python字典,俗称:dict. python中的字典可与字符串/列表/元组不同,因为 ...
- python全栈 字典数据类型相关知识及操作
python 全栈开发 一.字典 1. 字典的概念: 字典 : dict 用 {} 来表示, 键位值数据. { key , value } 具有唯一性. 键:都必须是可哈希的 不可变 ...
- Python字典(dict)使用技巧
字典dict是Python中使用频率非常高的数据结构,关于它的使用,也有许多的小技巧,掌握这些小技巧会让你高效地的使用dict,也会让你的代码更简洁. 1.默认值 假设name_for_userid存 ...
- python 字典 dict 该注意的一些操作
在用python处理dict 的时候,有几个该注意的地方,这里跟大家提一下: 1)操作dict 时,尽量少产生新的列表对象.比如: 遍历dict的时候,如果用 dic = {"a" ...
- Python中元组相关知识
下面给大家介绍以下元组的相关知识: ·元组可以看成是一个不可更改的list 1.元组的创建 # 创建空元祖 t = () print(type(t)) # 创建只有一个值的元组 # 观察可知元组中如果 ...
- Python面对对象相关知识总结
很有一段时间没使用python了,前两天研究微信公众号使用了下python的django服务,感觉好多知识都遗忘了,毕竟之前没有深入的实践,长期不使用就忘得快.本博的主要目的就是对Python中我认为 ...
随机推荐
- 关于display的属性:block和inline-block以及inline的区别,float相关说明
首先是block和inline的区别,说通俗点block就是让其形成块级元素,而且其前后都会有换行符:而inline的话就是让元素设置为内联样式(对其设置的宽高都没有什么卵用,不产生效果,但是颜色效果 ...
- CSS--block inline inline-block
display:block block元素会独占一行,多个block元素会各自新起一行.默认情况下,block元素宽度自动填满其父元素宽度. block元素可以设置width,height属性.块级元 ...
- GIT导出差异版本更新的文件列表
之前写了一篇SVN导出差异版本更新的文件列表 这次写git如何导出差异化版本文件列表 查找了一番,发现git diff这个命令 $ git diff 2da595c daea1d6 --name-on ...
- 雷林鹏分享:Composer 安装
下午在安装 Laravel 框架过程中,遇到了不少问题,因为 Laravel 的安装依赖于 composer,这里就先介绍一下 composer 的安装方法: 安装方法: #下载 sudo curl ...
- Day 4 变量常量
编辑语言的分类 编程语言,他是人与计算机沟通的一种介质 机器语言 计算机只认识0和1,为了和计算机沟通,你也得认识0和1 优点:执行效率快 缺点:普通人根本就写不了这种代码,开发效率低 汇编语言 他还 ...
- Python函数分类及操作
为什么使用函数? 答:函数的返回值可以确切知道整个函数执行的结果 函数的定义:1.数学意义的函数:两个变量:自变量x和因变量y,二者的关系 2.Pytho ...
- Creed_颓知乎
题目背景 二轮省选前的一个最后周,Creed_还在颓知乎. 突然,她看到一个有趣的回答. 紧接着,Creed_点开了评论区,又看到了一个有趣的评论. Creed_想了一下,发现自己并不会,于是她又顺着 ...
- jQuery 让input里面的内容可以布局到页面上
<div id="selectBox"> </div> <div class="make"> <span class= ...
- Uncaught RangeError: Maximum call stack size exceeded 超出最大调用值
“Uncaught RangeError: Maximum call stack size exceeded”.当运行js时出现这个报错,但你又查不到原因的时候,不要慌. 真相只有一个,那就是你的代码 ...
- Nginx配置文件及模块解析
一.Nginx是什么? Nginx是一个基于c语言开发的高性能http服务器及反向代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu.内 ...