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学习第五次笔记的更多相关文章

  1. 转载-《Python学习手册》读书笔记

    转载-<Python学习手册>读书笔记 http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html

  2. Python学习第五堂课

    Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...

  3. Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍

    原文:Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本 ...

  4. 《Python学习手册》读书笔记

    之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...

  5. 《Python学习手册》读书笔记【转载】

    转载:http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html 之前为了编写一个svm分词的程序而简单学了下Python,觉 ...

  6. python学习第四次笔记

    python学习第四次记录 列表list 列表可以存储不同数据类型,而且可以存储大量数据,python的限制是 536870912 个元素,64位python的限制是 1152921504606846 ...

  7. python学习第四天笔记整理

    一.迭代器及生成器 #迭代器:迭代的工具 #1 什么是迭代:指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是下一次重复的初始值# while True:# print('===== ...

  8. angularjs学习第五天笔记(第二篇:表单验证升级篇)

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  9. Python 学习 第五篇:语句和语法

    Python程序是语句构成的,语句包含表达式,表达式嵌套在语句中,包含变量和常量,用于处理对象.Python的语法实质上是由表达式.语句和代码块构成的.语句是由表达式构成的,代码块是由多个语句构成的复 ...

随机推荐

  1. android异步任务处理(网络等耗时操作)

    在实际应用中经常会遇到比较耗时任务的处理,比如网络连接,数据库操作等情况时,如果这些操作都是放在主线程(UI线程)中,则会造成UI的假死现象(android4.0后也不许放在UI线程),这可以使用As ...

  2. 点击回到顶部(jQuery)

    写这个点击回到顶部.我采用的是最简单的jQuery,的点击事件  和animate特效. html部分 <div class="pulltop"> <img sr ...

  3. go学习笔记-简述

    1.程序结构 Go程序结构和C系程序(C/C++/JAVA等)一致,基本语句被组织成函数用于隔离和复用,函数组成源文件和包.Go程序存储在一个或多个.go文件中,每个文件都已pakage开头,表面当前 ...

  4. flex布局设置width无效

    子元素设置 : flex: 0 0 85px; 参数: flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto.后两个属性可选. 该属性有 ...

  5. raid卡的结构示意图

    raid卡的结构示意图,取自<大话存储>第124页 ROM:一般用FLash芯片做ROM,存放着初始化RAID卡必须的代码以及实现RAID功能所需的代码; XOR芯片:专门用来做RAID ...

  6. vmware install win8 and server2012 problem

    Environment: vmware workstation 9 and win7 64bit. Problem: when i want to install server2012r2 and w ...

  7. python小总结2(time,os)

    一.时间模块 1.1 Time time.time():获取时间戳,结果为一个浮点数 time.gtime():获取时间的元组形式 time.localtime():获取的是当地时间 time.mkt ...

  8. js 使用Math函数取得数组最大最少值

    var arr = [3,1,2,6,7,8];

  9. 面试html部分

    1.DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动. DOM是文档对象模型的简称 DOM模型中两个节点可能存在的关系有两种:父子关系,兄弟关系. 添加节点:appendChi ...

  10. 005dayPython学习:编写并执行Pythong代码和流程梳理

    一.创建 python 文件 PS:文件路径和文件名尽量不要包含中文! 二.编写python代码 1.头部的特殊两行 #!/usr/bin/env python # -*- coding:utf-8 ...