学习笔记day6
时间:2019-07-04
本文章向大家介绍学习笔记day6,主要包括学习笔记day6使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今日学习内容列表、字典、元组、集合等类型的操作方法。
列表
列表类型今天补充了count、clear、reverse、sort
l = [1,2,3,4,5,6,7] #count res = l.count(1) # count的作用是列表中某个元素出现的次数 print(res) #clear print(l.clear()) # clear的作用是将列表中的数据全部清除 #reverse l.reverse() # 将列表反转 print(l) #sort l = [1,9,8,4,5,6,7] l.sort() # 排序 默认情况下是从小到大(升序) print(l) >>>[1, 4, 5, 6, 7, 8, 9] l1= [1,9,8,4,5,6,7] l1.sort(reverse=True) print(l1) >>>[9, 8, 7, 6, 5, 4, 1] 队列和堆栈的概念 # 队列 先进先出 # l1 = [] # 先进 # l1.append('first') # l1.append('second') # l1.append('third') # # 先出 # print(l1.pop(0)) # print(l1.pop(0)) # print(l1.pop(0)) >>>first second third # 堆栈 先进后出 # 先进 # l1.append('first') # l1.append('second') # l1.append('third') # 后出 # print(l1.pop()) # print(l1.pop()) # print(l1.pop()) >>>third second first
元组
作用:能够存储多个元素,元素与元素之间逗号隔开 元素可以是任意类型,元组不能被修改
定义:与列表类型比,只不过[]换成()
age=(11,22,33,44,55) #本质age=tuple((11,22,33,44,55))
1、按索引取值(正向取+反向取):只能取 t = (1, 2, 3, 'a', 'b', [1, 2, 3]) print(t[0]) t[1] = 'hahah' # 报错 t[-1] = 'hahaha' # 报错 t[-1][0] = '我改了' # (1, 2, 3, 'a', 'b', ['我改了', 2, 3]) print(t) del t[0] print(t)
元组内部的元素是不能改变的,但如果内部元素中有可变类型的元素如列表等,列表中的元素可以改变。
2、切片(顾头不顾尾,步长) print(t[::2]) 3、长度 print(len(t)) 4、成员运算in和not in print('a' in t) 5、循环 for i in t: print(i)
总结:元组能存多个值,他是有序的,是不可变类型。
字典
作用:能存存储多组 key:value键值对 key是对value的描述 key通常情况下都是字符串
d = {'name':'jason','password':123} # d = dict( {'name':'jason','password':123}) d1 = {1:'1',0:'0',1.11:'1.11',(1,2):'到底能不能呢?'} print(d1[1.11]) # 1.11 print(type(d1)) # <class 'dict'> print(d1[(1,2)]) # 到底能不能呢? 其实这个key只能是不可变类型,value可以是任意数据类型 d2 = {'name':'jason','name':'tank','name':'nick','password':123} 强调:字典的key是不能重复的,要唯一标识一条数据,如果重复了,只会按照最后一组重复的键值对存储。 print(len(d2)) print(d2) 1、按key存取值:可存可取 d3 = {'name':'jason','password':'123'} d3['name'] = 'egon' print(d3,id(d3)) d3['age'] = 18 # 赋值语句当key不存在的情况下,会自动新增一个键值对(******) print(d3,id(d3)) >>>{'name': 'jason', 'password': '123', 'age': 18} 951920647480 2、长度len 统计的键值对的个数 3、成员运算in和not in 对于字典来说只能判断key值 d3 = {'name':'jason','password':'123'} print('123' in d3) # False print('name' in d3) # True 4、删除 d3 = {'name':'jason','password':'123'} print(d3) res = d3.pop('name') # 弹出仅仅是value res = d3.pop('age') # 当键不存在的时候直接报错 print(res) print(d3) d3.clear() # 将字典的内容清空 print(d3) 5、定义字典的方式 1、第一种 d1 = {'name':'jason','password':123} 2、第二种 d2 = dict(name='jason',password=123,age=18) l = [ ['name','jason'], ['age',18], ['hobby','read'] ] 3、第三种 d3 = dict(l) print(d3) 6、get()根据key获取value print(d.get(‘name’,...)) # key值不存在时返后一个None,不报错 7、dict.fromkeys() 快速的创建一个字典 l1 = ['name','password','age','hobby'] print(dict.fromkeys(l1,123)) 8、更新dict.update() d1 = {'name':'jason','pwd':123} d2 = {"age":18} d1.update(d2) d1['age'] = 18 d1.update(age=666) print(d1) 9、dict.popitem() print(d1.popitem()) # 尾部以元组的形式弹出键值对 10、setdefault dict.setdefault() d1 = {'name':'jason','pwd':123} res1 = d1.setdefault('name','xxoo') # 当键存在的情况下 不修改值 并且将原先key对应值返回给你 print(d1,res1) res2 = d1.setdefault('age',18) # 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你 print(d1,res2) 11、键keys(),值values(),键值对items() d1 = {'name':'jason','password':123} print(d1.keys()) # dict_keys(['name', 'password']) print(d1.values()) # dict_values(['jason', 123]) print(d1.items()) # dict_items([('name', 'jason'), ('password', 123)]) # 就把它看成是列表套元组,元组的第一个元素是字典的key 第二个元素是字典的value
集合
作用:群体之间做比较,不涉及单个元素。能够去重。
s1 = set() print(type(s1)) # 注意在定义空集合的只能用关键字set x = {} # <class 'dict'> 如果你仅仅只写了一个大括号 那么python默认将它当做字典类型 print(type(x))
定义集合
集合:可以包含多个元素,用逗号分割。
集合的元素遵循三个原则:
1、每个元素必须是不可变类型
可变:不可hash
不可变:可hash
s = {1,2,3,4,5,6,'a',(1,2),[1,2]} # 报错 s = {1,2,3,4,5,6,'a',(1,2),{"name":'jason'}} # 报错
2、没有重复的元素
s = {1,2,2,2,2,2,2,2,2,2,3,4,4,4,4,4,5} print(s) # 自动将重复的元素 去除
3、无序
s = {1, 2, 3, 4, 5, 6} print(s[1])
注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值。
集合的操作
原文地址:https://www.cnblogs.com/wangnanfei/p/11135125.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php 策略模式原理与应用深入理解
- 解决在Laravel 中处理OPTIONS请求的问题
- PHP使用观察者模式处理异常信息的方法详解
- php判断目录存在的简单方法
- 怎么优雅的使用 laravel 的 validator验证办法
- Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
- php设计模式之适配器模式原理、用法及注意事项详解
- php基于Redis消息队列实现的消息推送的办法
- tp5框架无刷新分页实现方法分析
- PHP与SQL语句写一句话木马总结
- golang实现php里的serialize()和unserialize()序列和反序列办法详解
- php和html的区别点详细总结
- 详解在YII2框架中使用UEditor编辑器发布文章
- 在Laravel的Model层做数据缓存的实现
- Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解