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.keys():
- 输出字典所有的值:
- for item in info.values():
- print(item)
- for item in info.values():
- 输出字典所有的键值对:
- for k, v in info.items():
- print(k, v)
- for k, v in info.items():
- 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}
- >>> new_dict = dict.fromkeys(['k1',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 = {'K1':123,'k2':890}
- info.pop( ) |删除值并且得到删掉的值。
- >>> info = {'K1':123,'k2':890}
- >>> v = info.pop('K1')
- >>> print (info, v)
- ({'k2': 890}, 123)
- >>> info = {'K1':123,'k2':890}
- info.popitem( ) |此方法不带参数,是指随即删除字典里的一个键值对,并获取删掉的键值对的值。
- >>> info = {'K1':123,'k2':890}
- >>> k, v = info.popitem()
- >>> print(info, k, v)
- ({'K1': 123}, 'k2', 890) #随机删掉了K2键值对
- >>> info = {'K1':123,'k2':890}
- 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 = {'K1':123,'k2':890}
- 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}
- >>> info = {'k1':123,'k2':890}
- 字典默认for循环时,循环的是key值,不是value
- >>> dic = {'k1':'v1'}
- >>> 'k1' in dic #键是True
- True
- >>> dic = {'k1':'v1'}
- >>> 'v1' in dic #值是False
- False
- >>> dic = {'k1':'v1'}
- 布尔值
转换为布尔值: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中我认为 ...
随机推荐
- os.remove异常处理
这种情况,正反斜杠都没问题.(windows环境下) 这种情况会出现下列异常 对于目录的形式,把反斜杠改成正斜杠就好了
- y
switch(update_state) { : switch(num){ : window.progressn=num $('#h_progress_bar .ui-progress').anima ...
- spring xml配置注入改为手动注入过程
项目中需要使用MQ组件来接受消息,但是有的时候,在使用的时候,并不能满足spring注入的条件,无法注入.例如 在jfinal的config的afterJFinalStart中,由于jfinal集成s ...
- 开启BBR
BBR 目的是要尽量跑满带宽, 并且尽量不要有排队的情况, 效果并不比速锐差Linux kernel 4.9+ 已支持 tcp_bbr 下面简单讲述基于KVM架构VPS如何开启附:OpenVZ 架构V ...
- 2 - Binary Search & LogN Algorithm - Apr 18
38. Search a 2D Matrix II https://www.lintcode.com/problem/search-a-2d-matrix-ii/description?_from=l ...
- 如何增加亚马逊listing多个类目节点
流量是电商销售的必要因素,可以说,任何成功的电商平台都离不开流量.亚马逊listing优化做得好,不仅能提高产品的曝光率,还能提升转换率,而好的类目可以吸引大的流量.帮你快速爬升. 首先我们来了解一下 ...
- 基于iview 封装一个vue 表格分页组件
iview 是一个支持中大型项目的后台管理系统ui组件库,相对于一个后台管理系统的表格来说分页十分常见的 iview是一个基于vue的ui组件库,其中的iview-admin是一个已经为我们搭好的后天 ...
- windows 安装xadmin
1.访问github :https://github.com/sshwsfc/xadmin 2.新建README.rst 并替换到下载的zip文件中 3.cmd下,进入虚拟环境使用pip instal ...
- VS2013 中 CString类型转换为LPCSTR类型
HWND hWnd = ::FindWindow(NULL, L"XXXXXXX"); if (hWnd != NULL) { DWORD dwReadBytes; unsigne ...
- java 动态增/减集合元素
1. 简介 有时候需要在集合遍历过程中进行增/删,下面介绍几种正确的操作方式. 2. 示例 例如有如下集合[1, 2, 2, 3, 5],需要删除被2整除的元素. import java.util.* ...