python学习第五次笔记
python学习第五次笔记
列表的缺点
1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢。
2.列表只能按照顺序存储,数据与数据之间关联性不强
数据类型划分
数据类型:可变数据类型、不可变数据类型
不可变数据类型:元组,布尔值(bool)、int、str
可变数据类型:list(列表)、字典(dict)、set、
dict key 必须是不可变数据类型、可哈希
value:任意数据类型。
dict 优点:二分查找去查询
存储大量的关系型数据
特点:无序的
创建字典的几种方式
dic = dict((('one', 1),('two', 2),('three', 3)))
# dic = dict([('one', 1),('two', 2),('three', 3)])
print(dic) # {'one': 1, 'two': 2, 'three': 3}
方式1
dic = dict(one=1,two=2,three=3)
print(dic) # {'one': 1, 'two': 2, 'three': 3}
方式2
dic = dict({'one': 1, 'two': 2, 'three': 3})
print(dic) # {'one': 1, 'two': 2, 'three': 3}
方式3
字典的增加
通过键值对直接增加
dic1 = {'age': 18, 'name': 'xin', 'sex': 'male',}
dic1['high'] = 185
dic1['age'] = 16
# 没有键值对,添加
# 如果有键,则值覆盖
# {'age': 16, 'sex': 'male', 'high': 185, 'name': 'xin'}
print(dic1)
setdefault
dic1 = {'age': 18, 'name': 'xin', 'sex': 'male',}
dic1.setdefault('weight') # 有键值对,不做任何改变 ,没有才添加。
dic1.setdefault('weight', 150)
dic1.setdefault('name', 'erge')
print(dic1)
# {'name': 'xin', 'age': 18, 'weight': None, 'sex': 'male'}
字典的删除
pop 通过key删除字典的键值对,有返回值,可设置返回值。
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',}
print(dic1.pop('age')) # 有返回值,按键去删除
print(dic1)
# {'sex': 'male', 'name': 'jin'}
print(dic1.pop('haha', '没有此键')) # 可设置返回值
# 没有haha这个键,如果不加上'没有此键'这个值,运行会报错
print(dic1)
# {'sex': 'male', 'name': 'jin'}
popitem 随机删除
dic1 = {'age': 18, 'name': 'haha', 'sex': 'male',}
s = dic1.popitem()
print(s, dic1) # 随机删除 有返回值 元组,删除的键值。
# ('sex', 'male') {'age': 18, 'name': 'haha'}
clear 清空字典
dic1 = {'age': 18, 'name': 'haha', 'sex': 'male',}
dic1.clear() # 清空字典
print(dic1)
# {}
del 通过键删除键值对
dic1 = {'age': 18, 'name': 'haha', 'sex': 'male',}
del dic1['name']
print(dic1)
{'age': 18, 'sex': 'male'}
# 删除整个字典
del dic1
字典的修改
通过键值直接修改
dic1 = {'age': 18, 'name': 'haha', 'sex': 'male',}
dic1['age'] = 16
print(dic1)
# {'age': 16, 'name': 'haha', 'sex': 'male'}
update
dic = {'name': 'haha', 'age': 18, 'sex': 'male'}
dic.update(sex='男', height=175)
print(dic)
# {'name': 'haha', 'age': 18, 'height': 175, 'sex': '男'}
# 没有进行添加,有就进行修改
dic = {'name': 'haha', 'age': 18, 'sex': 'male'}
dic.update([('one', 1), ('two', 2), ('there', 3)])
print(dic)
# 'two': 2, 'name': 'haha', 'sex': 'male', 'age': 18, 'one': 1, 'there': 3}
dic = {'name': 'haha', 'age': 18, 'sex': 'male'}
dic2 = {'name': 'heihei', 'weight': 75}
dic2.update(dic)
print(dic)
print(dic2)
# {'name': 'haha', 'age': 18, 'sex': 'male'}
# {'weight': 75, 'name': 'haha', 'age': 18, 'sex': 'male'}
字典的查看
通过键查询
# 直接dic[key](没有此键或报错)
dic = {'name': 'haha', 'age': 18}
print(dic['name']) # haha
get
dic = {'name': 'haha', 'age': 18}
v = dic.get('name')
print(v) # 'haha'
v = dic.get('name1')
print(v) # None
v = dic.get('name2', '没有此键')
print(v) # 没有此键
keys,values,items
# keys()
dic = {'name': 'haha', 'age': 18}
print(dic.keys()) # dict_keys(['age', 'name']) # values()
dic = {'name': 'haha', 'age': 18}
print(dic.values()) # dict_values([18, 'haha']) # items()
dic = {'name': 'haha', 'age': 18}
print(dic.items()) # dict_items([('age', 18), ('name', 'haha')])
其他操纵
dic1 = {'age': 18, 'name': 'haha', 'sex': 'male',}
for i in dic1:
print(i)
for i in dic1.keys():
print(i)
# age
# sex
# name
dic1 = {'age': 18, 'name': 'haha', 'sex': 'male'}
for i in dic1.values():
print(i)
# male
# haha
#
dic1 = {'age': 18, 'name': 'haha', 'sex': 'male'}
for i in dic1.items():
print(i)
# ('age', 18)
# ('name', 'haha')
# ('sex', 'male')
for k, v in dic1.items():
print(k, v)
# name haha
# age 18
# sex male
拆包
a, b = 1, 2
print(a, b)
# 1 2 a, b = (1, 2)
print(a, b)
# 1 2 a, b = ('你好', '世界') # 这个用专业名词就叫做元组的拆包
print(a, b)
# 你好 世界 a, b = [1, 2]
print(a, b)
# 1 2 a, b = [1, 2], [2, 3]
print(a, b)
# [1, 2] [2, 3] a, b = {'one': 1, 'two': 2}
print(a, b)
# two one
字典的嵌套
dic = {
'name': ['haha', 'heihei', 'youyou'],
'py9': {
'time': '',
'learn_money': 19800,
'address': 'CBD',
},
'age': 21
}
dic['age'] = 56
dic['name'].append('')
print(dic['name'])
print(dic)
dic['name'][1] = dic['name'][1].upper()
print(dic)
l = [1, 2, 'wusir']
l[2] = l[2].upper()
print(l)
# female : 6
dic['py9']['female'] = 6
print(dic)
python学习第五次笔记的更多相关文章
- 转载-《Python学习手册》读书笔记
转载-<Python学习手册>读书笔记 http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html
- Python学习第五堂课
Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...
- Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍
原文:Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本 ...
- 《Python学习手册》读书笔记
之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...
- 《Python学习手册》读书笔记【转载】
转载:http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html 之前为了编写一个svm分词的程序而简单学了下Python,觉 ...
- python学习第四次笔记
python学习第四次记录 列表list 列表可以存储不同数据类型,而且可以存储大量数据,python的限制是 536870912 个元素,64位python的限制是 1152921504606846 ...
- python学习第四天笔记整理
一.迭代器及生成器 #迭代器:迭代的工具 #1 什么是迭代:指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是下一次重复的初始值# while True:# print('===== ...
- angularjs学习第五天笔记(第二篇:表单验证升级篇)
您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...
- Python 学习 第五篇:语句和语法
Python程序是语句构成的,语句包含表达式,表达式嵌套在语句中,包含变量和常量,用于处理对象.Python的语法实质上是由表达式.语句和代码块构成的.语句是由表达式构成的,代码块是由多个语句构成的复 ...
随机推荐
- 双重ScrollView,RecyclerView联动实例
最近收到一个需求,如图,大家一看,不就是一个简单的表格吗,RecyclerView就搞定了 我一开始也是这么想的,但是当我继续听下去 需求是左边党支部栏目只能上下滑动,之后联动右边下方表格一起上下滑动 ...
- Mittag-Leffer函数, Matlab内部函数
Mittag-Leffer函数: $E_{\alpha,\beta}(x) = \sum\limits^{\infty}_{k=0} \frac{x^k}{ \Gamma( \alpha k + \b ...
- LAMP环境配置安装注意安装步骤及说明事项
一.安装gcc shell># yum -y install gcc 二.安装zlib压缩库 shell>## cd /home/hsk/tar shell># tar –zxvf ...
- css实现横向带箭头步骤流程效果
通过纯css实现圆角的步骤流程效果,扩展性强,可以随意增加减少数量,兼容性ie6+. 具体代码: <style type="text/css"> ul{margin:0 ...
- vs2015 c# winfrom应用程序打包成64位
关于Winform打包过程在网上已有详细教程,参考:https://www.cnblogs.com/yinsq/p/5254893.html 此次工作中需要打包成64位的程序,网上没有查到方法,现在讲 ...
- [转]java 关于httpclient 请求https (如何绕过证书验证)
原文:http://www.blogjava.net/hector/archive/2012/10/23/390073.html 第一种方法,适用于httpclient4.X 里边有get和post两 ...
- Django 之 cookie和session
一. Cookie 1.Cookie的由来 因为HTTP协议是无状态的,无状态的意思就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,也不会受前后请求响应情况直接影响.简 ...
- 基于三层架构下的公共数据访问方法(Sqlite数据库)
作者总结了一下,使用Winform的三层架构做窗体应用程序,在数据访问方面,有用到纯sql语句方法.参数方法.存储过程方法. 那么什么是三层架构呢? UI---存放Form窗体---(用户所关心的) ...
- 使用线程操作刷新Winform界面
主窗体中添加代码 public FrmMain() { InitializeComponent(); System.Threading.Thread thread = new System.Threa ...
- 结对编程ending-我和洧洧的碎碎念
应该是第一次和队友分工合作去完成一个项目,其中也经历了跳进不少坑又被拉回来的过程,总体来说这对于我俩也的确是值得纪念的一次经历. 我的碎碎念时间…… 对比个人项目和结对编程项目二者需求,前者重在面对不 ...