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. Robot Framework自动化测试(1)

    Python: https://www.python.org/ RF框架是基于python 的,所以一定要有python环境. Robot framework : https://pypi.pytho ...

  2. 搭建k8s(一)

    安装VMWare VMWare官网地址 点击下载-->WorkStation Pro-->点击linux免费试用版 下载安装完成后,创建一个虚拟机,去centos官网找到centos7is ...

  3. 关于微信小程序获取当前位置信息

    小程序开发---获取当前位置信息 一.获取用户地理位置信息 1.配置app.json文件 { "pages": ["pages/index/index"], & ...

  4. angular学习笔记(2)

    1.angular可观察对象 2.angular绑定方式 3.angular模板 4.angular生命周期 5.angular组件通信

  5. ARP协议分析(Wireshark)

    一.说明 1.1 背景说明 以前学网络用的谢希仁的<计算机网络原理>,一是网开始学不太懂网络二是ARP协议是没有数据包格式的(如果没记错应该是没有).学完只记得老师说:ARP很简单的,就是 ...

  6. mysql查询表字段名称,字段类型

    select column_name,column_comment,data_type from information_schema.columns where table_name='查询表名称' ...

  7. java.lang.NumberFormaException: For input String:"user"

    碰到这个问题的时候有点懵逼,很无力,网上一查是类型转换错误,贴上报错的JSP代码 最后找救兵,得出是hql的错误,举个例子: HibernateUtil.query("from user u ...

  8. Excel关联xml文件

    1.新建没传值的xml文件,变量名称自己定义好 2.打开excel,如果之前没有设置过,点击选项 如果当前Excel菜单栏中没有开发工具项,在自定义功能区先勾选上开发选项 3.点右下角的xml映射 弹 ...

  9. [数]补题ver.

    上次补题好像把两次训练混在一起了,总之先按时间顺序补完这一次|ू・ω・` ) HDU-6301 不会的东西不能逃避.jpg 红小豆非常讨厌构造题,因为非常不会,并且非常逃避学习这类题,因为总也搞不清楚 ...

  10. python字符串内置方法

    网上已经有很多,自己操作一遍,加深印象. dir dir会返回一个内置方法与属性列表,用字符串'a,b,cdefg'测试一下 dir('a,b,cdefg') 得到一个列表 ['__add__', ' ...