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的语法实质上是由表达式.语句和代码块构成的.语句是由表达式构成的,代码块是由多个语句构成的复 ...
随机推荐
- jquary高级和ajax
jquary高级: 1.动画 1.三种方式显示与隐藏元素 1.默认显示和隐藏的方式 1.show([speed],[easing],[fn]):显示 [speed],[easing],[fn] spe ...
- android ------ AAPT2 error: check logs for details解决方法
AAPT 是全称是 Android Asset Packaging Tool,它是构建 App,甚至是构建 Android 系统都必不可少的一个工具.它的作用是将所有资源文件压缩打包到Android ...
- Django中ORM介绍和字段及字段参数
Object Relational Mapping(ORM) 1 ORM介绍 1.1 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对 ...
- 织梦默认编辑器换成kindEditor实操教程
织梦默认编辑是CKeditor,要想换成kindEditor编辑器,按如下步骤操作. 先看效果图: 首先下载打包好的 kindEditor_for_dedeCMS.ZIP,下载地址:https://d ...
- mysql5.7版本yum安装---redhat7.0
1.官网下载yum包 [root@test01 test]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch ...
- 为何存在requests库,pycharm依然报错解决方法 --转载
原文地址:https://www.jianshu.com/p/e28a72ba7809 今天在使用pycharm的时候,用到了第三档库requests,提示有错误,报错显示 No module nam ...
- project euler做题记录
ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{a ...
- ES6/ES7/ES8常用特性和新特性
转自:https://www.jianshu.com/p/9da4aa1c9970
- @Component, @Repository, @Service的区别
注解 含义 @Component 最普通的组件,可以被注入到spring容器进行管理 @Repository 作用于持久层 @Service 作用于业务逻辑层 @Controller 作用于表现层(s ...
- JVM常用配置参数说明
堆设置 -Xms256M:初始堆大小256M,默认为物理内存的1/64 -Xmx1024M:最大堆大小1024M,默认为物理内存的1/4,等于与-XX:MaxHeapSize=64M -Xmn64M: ...