20_Python字典总结
字典:
python内置了字典:dic全称dictionary。其他语言中成为map,使用key-value的存储,键-值。具有极快的查找速度
类似与我们查字典,我们要查一个字
1.从第一页往后翻,知道翻到想要的字为止
2.在索引表查对应的码页,然后直接翻到那一页,找到这个字,不会随着字典大小的增加而变慢。
#字典总复习 '''
python内置了字典:dic全称dictionary。其他语言中成为map,使用key-value的存储,键-值。具有极快的查找速度
类似与我们查字典,我们要查一个字
1.从第一页往后翻,知道翻到想要的字为止
2.在索引表查对应的码页,然后直接翻到那一页,找到这个字,不会随着字典大小的增加而变慢。
'''
dic = {'name':'zhangsan'} #字典的增
##1.通过key增加。如果不存在就添加, 如果存在就覆盖
dic['age'] = 20 #如果此键不存在则添加
print(dic) #{'name': 'zhangsan', 'age': 20} dic['age'] = 22 #如果此键存在,则覆盖
print(dic) #{'name': 'zhangsan', 'age': 22} ##2.setdefault 如果存在,无操作,如果不存在就添加
dic.setdefault('hobby')
print(dic) #{'name': 'zhangsan', 'age': 22, 'hobby': None}
dic.setdefault('hobby','篮球')
print(dic) #{'name': 'zhangsan', 'age': 22, 'hobby': None} hobby已经存在,所以不操作 dic.setdefault('home','中国')
print(dic) #{'name': 'zhangsan', 'age': 22, 'hobby': None, 'home': '中国'} #字典的删操作
###按元素删除
dic.pop('hobby')
print(dic) #{'name': 'zhangsan', 'age': 22, 'home': '中国'}
dic.pop('xx')
print(dic) #KeyError: 'xx' 如果删除不存在的键,将会报错,但是pop给我们提供了容错机制
ret = dic.pop('xx','没有此键')
print(ret) #没有此键 ###按索引删
dic.popitem() #随机删除某个元素
print(dic) #{'name': 'zhangsan', 'age': 22} #字典的改
###按key改,如果key不存在,则添加
dic['age'] = 33
print(dic) #{'name': 'zhangsan', 'age': 33} dic.update({'hobby':'computer'})#如果键不存在,则添加
print(dic) #{'name': 'zhangsan', 'age': 33, 'hobby': 'computer'} dic.update({'hobby':'progrem'})#如果键存在,则修改
print(dic) #{'name': 'zhangsan', 'age': 33, 'hobby': 'progrem'} #字典的删
###清空一个字典
dic.clear()
print(dic) #{} ###删除一个键值对
del dic['hobby']
print(dic) #{'name': 'zhangsan', 'age': 33} ###删除一个字典
del dic
print(dic) #NameError: name 'dic' is not defined #字典的查
###按key查
print(dic['hobby']) #progrem ##按key查,查不到,返回提示信息
ret = dic.get('xxx','没有此键')
print(ret) #没有此键 ##遍历所有的key
for i in dic:
print(i)
for i in dic.keys():
print(i)
##遍历所有的value
for i in dic:
print(dic[i])
for i in dic.values():
print(i) ##遍历所有的键值
for k,v in dic:
print(k,dic[k])
20_Python字典总结的更多相关文章
- 【DG】Oracle_Data_Guard官方直译
[DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍 Oracle Data Guard概念和管理10g版本2 Oracle Data Guard ...
- DVWA实验之Brute Force(暴力破解)- Low
DVWA实验之Brute Force-暴力破解- Low 这里开始DVWA的相关实验~ 有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...
- Oracle错误览表
Oracle 错误总结及问题解决 ORA 本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html 作者@承影剑 ORA-0 ...
- Javacript实现字典结构
字典是一种用[键,值]形式存储元素的数据结构.也称作映射,ECMAScript6中,原生用Map实现了字典结构. 下面代码是尝试用JS的Object对象来模拟实现一个字典结构. <script& ...
- python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...
- 增强版字典DictionaryEx
代码 public class DictionaryEx<TKey, TValue> : IDictionary<TKey, TValue> { /// <summary ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- python之最强王者(8)——字典(dictionary)
1.Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包 ...
- python序列,字典备忘
初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...
随机推荐
- 【转】.NET IL实现对象深拷贝
对于深拷贝,通常的方法是将对象进行序列化,然后再反序化成为另一个对象.例如在stackoverflow上有这样的解决办法:https://stackoverflow.com/questions/785 ...
- Redux入门示例-TodoList
Tip 前端技术真是日新月异,搞完 React 不搭配个数据流都不好意思了.满怀期待的心去翻了翻 flux,简直被官方那意识流的文档折服了,真是又臭又长还是我智商问题?
- Hadoop(十六)之使用Combiner优化MapReduce
前言 前面的一篇给大家写了一些MapReduce的一些程序,像去重.词频统计.统计分数.共现次数等.这一篇给大家介绍的是关于Combiner优化操作. 一.Combiner概述 1.1.为什么需要Co ...
- sql中查询同一列所有值出现的次数
尊重原创:http://blog.csdn.net/love_java_cc/article/details/52234889 有表如下table3: 需要查询country中各个国家出现的次数 SQ ...
- 遍历数组中的元素(含es6方法)
假如有这样一个数组.arr = [12,34,45,46,36,58,36,59],现在要遍历该数组. 方法1:以前我们可能会这样做: for(var i=0;i<arr.length;i++) ...
- 浅谈event.client、event.screen与event.offset
每每看到event.client.event.screen与event.offset这几个,头都大了,今天又碰到了,特来总结下. 1.event.screenX与event.screenY. 首先,e ...
- Spring MVC集成Swagger
什么是Swagger? 大部分 Web 应用程序都支持 RESTful API,但不同于 SOAP API——REST API 依赖于 HTTP 方法,缺少与 Web 服务描述语言(Web Servi ...
- 织梦dedecsm系统"企业简介"类单栏目模版如何修改和调用
2013-1-12 14:46 | 发布者: moke | 栏目:dedecms教程 我们的模版里应该都有article_article.htm这个模版,这个模版是文章内容页模板,也就是 ...
- JavaScript之事件委托(附原生js和jQuery代码)
事件委托的原理依赖于事件冒泡,可以通过给父元素的事件委托来确定是哪个子元素触发了事件从而做一系列操作. 使用事件委托的优点 1.操作子元素时不用一一遍历,可以根据事件触发的对象而进行相应操作 dom结 ...
- SecurityException
摘录自http://www.cnblogs.com/haorenjie/archive/2012/09/12/2682655.html public boolean checkNetwork() { ...