python基础学习5----字典
字典由大括号和键值对组成,特点为无序,键唯一
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----字典的更多相关文章
- Python 基础学习之字典
1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...
- Python基础学习Day5 字典的增、删、改、查的用法 分别赋值
一.字典的介绍 字典:字典是Python的基础数据类型之一:字典可以存储大量数据,关系型数据. 同样是Python中唯一的映射类数据类型. 数据类型的分类: 可变的数据类 ...
- python 基础学习4 字典和循环语句
学了这么多天的基础,好着急的想什么时候可以开始写个小程序,今天还是静下心来把字典和循环语句学习了 关于字典,主要是了解了字典的创建,和映射,以及一些基本的运算法,运算法不一一列出,运算法在用到的时候会 ...
- python基础学习笔记——字典
字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 { ...
- 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 ...
- Python基础学习三 字典、元组
一.元组 元组,提示别人,这个值是不能被改变的,元组的定义方式是用(),小括号: 元组只有两个方法,那就是count和index mysql1 = ('127.0.0.1',3306,'my','ro ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Day1 Python基础学习——概述、基本数据类型、流程控制
一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...
- (一)python基础学习
根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...
随机推荐
- JS脚本动态给元素/控件添加事件
最近突然要用到JS脚本动态给元素添加事件.如TextBox的onclick事件.但有的onclick事件原先已经定义了相应代码!这里又不能替代原有方法,而JS脚本里面有个方法可以给控件在原有事件的基础 ...
- -bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_US.UTF-8): No such file or directory -bash: warning: setlocale: LC_COLLATE:
前几天登录服务器发现出现了这些个警告,一直没时间去处理他,今天难得有空,处理一下并记录下来,希望可以帮助到有需要的朋友. 警告信息如下: Last :: from 10.0.0.1 -bash: wa ...
- Linux cp 强制覆盖
Linux下默认cp命令是有别名(alias cp='cp -i')的,无法强制覆盖,即使你用 -f 参数也无法强制覆盖文件,下面提供两种Linux下cp 覆盖方法. 1) 取消cp的alias,这 ...
- JS pop push unshift shift的作用与区别
白话JS中数组方法pop push unshift shift的作用与区别,通过本文,你大概能知道这四种数组方法的基本使用与大致区别. 首先,这四种方法会直接修改数组,请先记住这一点. 我们先把pop ...
- vue-cli 使用better-scroll
better-scroll api文档https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/ 一:安装better-scroll 插件 cn ...
- Jmeter接口测试动态传参——动态获取token值
先添加一个线程组,然后在线程组下添加HTTP Request 环境变量: 线程组下添加User Defined Variables 调用变量:${变量名} 添加结果树: 记录登录后的token: 获取 ...
- POJ 1679 The Unique MST(判断最小生成树是否唯一)
题目链接: http://poj.org/problem?id=1679 Description Given a connected undirected graph, tell if its min ...
- karma + jasmine 构建前端自动化测试
http://blog.fens.me/nodejs-karma-jasmine/ 很全的文档 执行karma init时报错如下: $ karma init > readline.js:5 ...
- Java基础——详尽说明try-catch-finally的用法
问:Java异常处理机制,理解了吗?Java异常处理,真的掌握了吗?什么是自定义异常?catch体里遇到return 是怎么处理?finally 体里有return怎么处理?catch 和 final ...
- Zipper(poj2192)dfs+剪枝
Zipper Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15277 Accepted: 5393 Descripti ...