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的语法实质上是由表达式.语句和代码块构成的.语句是由表达式构成的,代码块是由多个语句构成的复 ...
随机推荐
- C语言实验一(2)
#include<stdio.h>int main(){ char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2) ...
- 使用Composer安装Symfony
最近的一些项目都会使用symfony框架,首先的第一个问题就是symfony框架的下载及安装,symfony要求的php环境5.5以上的,需要php版本的切换.使用的是windows版的安装起来较为麻 ...
- python 调用js代码
Python2 安装pyv8 pip install-egit://github.com/brokenseal/PyV8-OS-X#egg=pyv8 from pyv8 import PyV8 c ...
- centos7版本中ssh相关的设置
1.设置SSH连接端口1.1.关闭SELinux--关闭系统当前selinux# setenforce 0 --关闭系统永久selinux# sed -i 's/SELINUX=enforcing/S ...
- day 05字典相关内容
1.day 04内容回顾及作业讲解 列表:增 append insert extend 删 remove pop clear del 改 li[索引]='被修改的内容' li[切片]='被修改的内容' ...
- Oracle根据时间恢复已删除提交的数据
Oracle 根据数据库的时间戳恢复已删除提交的数据 1.选择一个时间点查看表中数据是否是自己想要的数据 Select * from 表名 as of timestamp to_timestamp(‘ ...
- vue-router同路由$router.push不跳转一个简单解决方案
vue-router同路由$router.push不跳转一个简单解决方案 vue-router跳转一般是这么写: toCurrentPage: function(thisId){ this.$rout ...
- Form表单发送到服务器时的编码方式
---恢复内容开始--- 表单中的表单中enctype是设置表单的MIME编码. 所谓MIME编码,是指当服务器传送数据给客户端时,必须指定这个文件是什么类型,才能方便客户端调用相应的应用软件来打开该 ...
- MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.5 Adding a raster layer
MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.5 Adding a raster layer 一.前言 MapServer不仅支持 ...
- error connecting to master 'repl@192.168.1.107:3306' - retry-time: 60 retries: 86400
很多时候,就算thread 正在进行,也不代表没有错误,一定要看看具体表示错误的变量 mysql> show slave status\G *************************** ...