字典由大括号和键值对组成,特点为无序,键唯一

1.字典的创建

#直接创建字典
dic1={'name':'a','age':20}
#通过dict创建字典,输出都为{'name': 'a', 'age': 20}
dic2=dict((('name','a'),('age',20)))
print(dic2)
dic3=dict([['name','a'],['age',20]])
print(dic3)

2.字典的增加与修改

dic1={'name':'a'}
dic1['age']=20
print(dic1)
#如果字典中存在age,那么将age的值修改为20,如果不存在,则添加'age':20 age=dic1.setdefault('age',18)
print(age)
#键存在,不改动,返回字典中相应的键对应的值,输出为20 hobby=dic1.setdefault('hobby','sport')
print(hobby)
#键不存在,在字典中中增加新的键值对,并返回相应的值,输出为sport

3.字典的查询,通过键去查找

dic3={'age': 20, 'name': 'a', 'hobby': 'sport}

print(dic3['name'])#输出a
print(dic3.get("name"))#输出a
print(dic3.get("sex","male"))#如果有sex键则返回对应的值,没有的话返回"male"
print(dic3.keys())#输出dict_keys(['age', 'name', 'hobby']),其他同理
print(list(dic3.keys()))#输出['age', 'name', 'hobby']
print(list(dic3.values()))#输出[20, 'a', 'sport']
print(list(dic3.items()))#输出[('age', 20), ('name', 'a'), ('hobby', 'sport')] #更新字典
dic4={'age': 20, 'name': 'a', 'hobby':'sport'}
dic5={'1':'111','name':'222'}
dic4.update(dic5)
print(dic4)#输出{'age': 20, 'name': '222', 'hobby': 'sport', '1': '111'}
print(dic5)#输出{'1': '111', 'name': '222'}

4.字典的删除

dic5 = {'name': 'a', 'age': 20, 'hobby': sport}

dic5.clear() # 清空字典

del dic5['name'] #删除字典中指定键值对

print(dic5.pop('age')) #删除字典中指定键值对,并返回该键值对的值,应该输出20

a = dic5.popitem() #随机删除某组键值对,并以元组方式返回值

del dic5  #删除整个字典

5.其他创建字典的方法

dic6=dict.fromkeys(['host1','host2','host3'],'test')
print(dic6)#输出{'host3': 'test', 'host1': 'test', 'host2': 'test'} dic6=dict.fromkeys(['host1','host2','host3'],['test1','tets2'])
print(dic6)#{'host2': ['test1', 'tets2'], 'host3': ['test1', 'tets2'], 'host1': ['test1', 'tets2']} dic6['host2'][1]='test3'
print(dic6)
#{'host3': ['test1', 'test3'], 'host2': ['test1', 'test3'], 'host1': ['test1', 'test3']},这里不仅仅只改变了host2的值

6.字典的遍历

可以利用for循环 

dic5 = {'name': 'a', 'age': 20, 'hobby': 'sport'}

 for i in dic5:
print(i,dic5[i]) for i,v in dic5.items():
print(i,v)

  

python基础学习5----字典的更多相关文章

  1. Python 基础学习之字典

    1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...

  2. Python基础学习Day5 字典的增、删、改、查的用法 分别赋值

    一.字典的介绍 字典:字典是Python的基础数据类型之一:字典可以存储大量数据,关系型数据. 同样是Python中唯一的映射类数据类型.         数据类型的分类:        可变的数据类 ...

  3. python 基础学习4 字典和循环语句

    学了这么多天的基础,好着急的想什么时候可以开始写个小程序,今天还是静下心来把字典和循环语句学习了 关于字典,主要是了解了字典的创建,和映射,以及一些基本的运算法,运算法不一一列出,运算法在用到的时候会 ...

  4. python基础学习笔记——字典

    字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 { ...

  5. python 基础学习(字典对象,set对象)

    1.dict 字典对象 a.定义对象 d={'a':14,'b':12}b.通过key获取value d['a'] 方法1.判断key是否存在 if 'a' in d: d['a']方法2:通过用ge ...

  6. Python基础学习三 字典、元组

    一.元组 元组,提示别人,这个值是不能被改变的,元组的定义方式是用(),小括号: 元组只有两个方法,那就是count和index mysql1 = ('127.0.0.1',3306,'my','ro ...

  7. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  8. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  9. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  10. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

随机推荐

  1. js Date对象总结

    Date在js中和Array类似,都是拥有自己的特殊方法的特殊对象. 由于平常用到Date着实不多,对它的了解颇浅.上周被问到怎么样获取某年某个月的天数,我当时想了一会儿,回答说有两种,一种自己写判断 ...

  2. 【IT笔试面试题整理】丑数

    [试题描述]我们把只包含因子2.3和5的数称作丑数.求按从到大的顺序的第1500个丑数.例如6,8是丑数,而14不是,因为它包含因子7.习惯上把1当作第一个丑数. 根据丑数的定义,丑数应该是另一个丑数 ...

  3. Linux Tomcat日志查看实用命令

    实用命令: 查看tomcat运行日志 tail -f catalina.out 通过关键字搜索查看日志 cat jeewx-2015-09-20.log | grep 验证码 查看固定时间日志 cat ...

  4. C# WebApi 返回JSON

    在默认情况下,当我们新建一个webapi项目,会自动返回XML格式的数据,如果我们想返回JSON的数据,可以设置下面的三种方法. 1. 不用改配置文件,在Controller的方法中,直接返回Http ...

  5. SpringMvc+hibernate+easyui简单的权限管理系统

    用户登录:   主界面:   资源管理:   角色管理:   用户管理:   部门管理:   源码在群共享: 189811613  群满了,直接发链接吧链接:http://pan.baidu.com/ ...

  6. Java虚拟机--Java内存区域的划分和异常

    Java内存区域的划分和异常 运行时数据区域 JVM在运行Java程序时候会将内存划分为若干个不同的数据区域. 程序计数器 线程私有.可看作是当前线程所执行的字节码的行号指示器,字节码解释器的工作是通 ...

  7. mybatis-plus排除非表中字段

    使用 transient 修饰 private transient String noColumn; 使用 static 修饰 private static String noColumn; 使用 T ...

  8. Codeforces343D(SummerTrainingDay06-F dfs序+线段树)

    D. Water Tree time limit per test:4 seconds memory limit per test:256 megabytes input:standard input ...

  9. Angular 中引入BootStrap

    由于Bootstrap官方目前并没有发布Angular的相关类库进行支持,当前Angular只能引用使用Bootstrap相关的样式.无法使用Bootstrap自带的脚本逻辑.以下以Angular7和 ...

  10. js-ES6学习笔记-Generator函数的异步应用

    1.ES6 诞生以前,异步编程的方法,大概有下面四种. 回调函数 事件监听 发布/订阅 Promise 对象 Generator 函数将 JavaScript 异步编程带入了一个全新的阶段. 2.所谓 ...