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中我认为 ...
随机推荐
- mysql workbench快捷键小结
执行整篇sql脚本, ctrl+shift+enter 执行当前行,ctrl+enter 注释/取消注释, ctrl+/ [注意]这里的 / 指的是小键盘中的除法Divide符号格式化sql语句( ...
- 实现img图片不能被拖动的两种简单方法
1,在img标签中添加属性 draggable="false" 2,通过css样式设置 img { -webkit-user-drag: none; }
- SparkStreaming流处理
一.Spark Streaming的介绍 1. 流处理 流式处理(Stream Processing).流式处理就是指源源不断的数据流过系统时,系统能够不停地连续计算.所以流式处理没有什么 ...
- C语言多种方法求解字符串编辑距离问题的代码
把做工程过程经常用的内容记录起来,如下内容段是关于C语言多种方法求解字符串编辑距离问题的内容. { if(xbeg > xend) { if(ybeg > yend) return 0; ...
- python---- pyqt 十字光标
# encoding: UTF-8 import sys,os import pyqtgraph as pg import datetime as dt import numpy as np impo ...
- 2018-2019-2 20175317 实验一《Java开发环境的熟悉》实验报告
实验一<Java开发环境的熟悉> 一.实验内容及步骤 实验内容: (一)实验一Java开发环境的熟悉-1 参考实验要求 建立"自己学号exp1"的目录 在"自 ...
- 剑指offer-01
好久没看java, 今天把 runoob 上的java基础简单过了一遍. 来吧,怎么整这个题目呢? 首先遇到的问题是java如何输入一个数组,而且这个数组并不知道长度是多少 用Scanner类 Sca ...
- Python第三方库的安装 --Python3
1.使用安装包管理工具安装:easy_install .pip/pip3 easy_install:easy_install是由PEAK(Python Enterprise Application K ...
- nginx的前世今生
Nginx最初的设计是称为一个http服务器,一个能够解决C10K问题的http服务器. 那么问题来了,什么是C10K呢?C10K问题即(单机10万个并发链接问题),这个概念最早是由Dan Kegel ...
- nameode启动过程
namenode在内存和磁盘中都保存了fsimage和edits文件 内存中保证hdfs文件系统的访问效率,磁盘中保证hdfs文件系统的安全性 namenode的文件组成: fsimage文件:保存文 ...