Day07 数据类型(列表,元组,字典,集合)常用操作和内置方法
数据类型
列表list:
- 用途:记录多个值(同种属性) 
- 定义方式:[]用逗号分隔开多个任意类型的值 - list()造出来的是列表,参数是可迭代对像,也就是可以使用for循环的对像 - 传入字典,出来的列表元素是字典的key 
- 常用方法+内置的方法: - 优先掌握的方法: - l = ["a","b","c","d''] - 1.按索引取值,也可以更改 - l[0],l[-1],l[0]="A" - 通过索引赋值可以,通过索引增加值会报错,因为增加值的话肯定需要一个不存在的索引而列表中索引不存在就会报错, - 2.追加 
 append在列表末尾增加- insert(index,element) 通过索引添加元素 - 3.删除 - del l[0] 无返回值,赋值给变量,会报错 - l.remove[元素名] 根据元素值删除,返回值为None,相当于没有返回值 - l.pop[index] 一个参数,根据索引删除,默认索引为-1,pop有返回值,返回的是删除的元素 - 区别,del和remove单纯的删除,pop可以拿到返回值 - 4.循环 - for item in l: -  print(item) - 5.len - 6.in not in - 7.切片:索引的扩展 - 需要掌握的操作: - num = l.count(element) 数元素在列表中的个数,返回这个个数 - extend(items)添加多个值,1个参数,可迭代对象,原理 for item in items:l.append(item) - index(object,start,stop)不存在报错 - reverse()反转,无参数 - sort()排序,sort(reverse = True) - sort 无返回值. - 能存多个值 - 有序 - 可变 - 队列:先进先出,平时排队 - 堆栈:后进先出,上子弹 
元组tuple
- 用途:不可变的列表 - 存储相同数据的列表和元组占用内存比较 - 列表查看,修改,会附加支持修改的机制 - 元组只需要查看 - 元组更省内存 
- 定义方式:()小括号,用逗号分隔开多个任意类型的元素 - 强调:l = [1],type(l)为list -  l = (1),type(l)为int - 因为小扩号有包含的作用 - 以后元组只有一个元素时需要增加一个逗号 - 需要掌握的操作: - index - count 
元组与列表的内存存储情况
l = ["a'',"b","c"]
列表的内存地址,放着 索引:值的内存地址的链接
元组的内存地址,放着索引和值的内存地址,元组不可变,索引对应的内存地址是不变的
字典:dict
列表是索引对应值,而字典是key对应值
其中key对value有描述性类型
定义方式:{}用逗号分开多个元素,每个元素都是key:value的形式,其中key是不可变类型,通常是字符串类型,value可以是任意类型
dict
类型转换: 1.传入的数据 x=1,y=2,z=3
 2.li = [("name",egon),("age",18),("gender,male")]
 3.li =["name","age","gender","height","'weight"]
                dic = {}.fromkeys(li,None)
字典
优先掌握的操作:
- 按key取值 - dic[key] = value key不存在,则新增 
- 长度 
- 成员运算 in not in以字典的key为准 
- 删除 - del dic[key] - dic.pop[key]返回值是key对应的是value - dic.popitem()随机删除一个键值对 
- 循环 - dic.keys()生成了,dic.values()的结果与dic.keys()一一对应 - dic.items() - dic.update{dic1} 更新原字典中没有的key - res = dic.setdefault("name","Egon") - 原字典存在key,不变更 - 原字典不存在key,增加键值对 - 保证字典一点存在一个key - 有返回值:key存在时,没有变更,返回的是key对应的原值 - key不存在时,返回新值
 
用法:产生一个字典{“hello“:2,“alex”:2}
s='hello alex alex say hello sb sb'
dic={}
words=s.split()
for word in words:
dic.setdefault(word,s.count(word))
print(dic)
总结:保证字典存在设置的这个key,返回值为这个key对应的值(key存在就是原值,不存在就是自己设定的值)
集合(set):可变类型
一个群体与另一个群体的关系
- 用途:关系运算
- 定义方式:{},在花括号内用逗号分隔开多个元素,元素特点是①集合内的元素必须是不可变类型②集合内元素无序③集合内元素不可重复,去重
定义一个空集合,s = set()
类型转换,set参数类型iterable可迭代
常用的操作和内置方法:
优先掌握的:
关系运算:①合集(并集) | set1|set2
 ②交集 & set1&set2
 ③差集 - set 1-set2 set2 -set1
 ④对称差集 ^ set1^set2
 ⑤==
 ⑥父子集:包含与被包含的关系
 父集包含子集
需要掌握的
s1 = {1,2,3}
s1.update({4,5,6})
s1.pop()没有参数,随机删除1个
s1.add()加入一个元素
s1.remove()指定删除元素,元素不存在,报错无返回值
s1.discard()指定删除元素,元素不存在不会报错,无返回值
去重:
①只能针对不可变类型
②不能保证原来的顺序
name = ["egon","alex","egon","alex"]
set(name)
Day07 数据类型(列表,元组,字典,集合)常用操作和内置方法的更多相关文章
- Python列表,元组,字典,集合详细操作
		菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ... 
- python3笔记十八:python列表元组字典集合文件操作
		一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ... 
- python的学习笔记01_4基础数据类型列表 元组 字典 集合  其他其他(for,enumerate,range)
		列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ... 
- **python中列表 元组 字典 集合
		列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ... 
- python_列表——元组——字典——集合
		列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ... 
- python中列表 元组 字典 集合的区别
		列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ... 
- Day 07 数据类型的内置方法[列表,元组,字典,集合]
		数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ... 
- day6 六、元组、字典、集合的基本操作和内置方法
		一.元组 1.定义 # 元组tuple # 记录多个值,当值没有改的需求是,建议用元组更好 # 定义:在()内用逗号分开任意类型的值 # name = (, , 300.5]) # print(nam ... 
- Day2 列表,元组,字典,集合
		一,列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. list=['alex', 'jack', 'chen', 'shaoye'] #创建一个列表. 特性: 1.可存 ... 
随机推荐
- Codeforces Round #396 (Div. 2) D
			Mahmoud wants to write a new dictionary that contains n words and relations between them. There are ... 
- springMVC-数据传递
			1. 使用Model.ModelAndView传递数据 注意事项: 1. redirect的数据传递 Model与ModelAndView的传递效果是一样的,且传递是数据不能是引用类型. ... 
- 阿里云-域名免费申请ssl证书过程
			1.运行证书服务docker docker run --entrypoint="/bin/sh" -it --name certbotsh certbot/certbot:late ... 
- JS中的关系操作符与自动转型
			很多时候对数据操做时都会遇到数据转换,有的是显示转化,有的是隐式转化,即调用默认的规则进行数据转换,经常会把数据转换的方式搞混,于是就花了点时间做了个小小的总结: 一元操作符(--,++,-,+)作用 ... 
- jupyter notebook dead kernel问题解决
			背景: 我在刚安装好的tensorflow环境下启动jupyter notebook,无论是浏览器还是控制台,提示都是关于dead kernel.然后就查嘛,更新大发好. 但是我在控制台里按照其他人说 ... 
- python flask学习(2)
			本文主要整理下几个Flask扩展: 0.Flask-Bootstrap:集成Twitter开发的一个开源框架Bootstrap.1.Flask-Script:为Flask程序添加一个命令行解析器2.F ... 
- display flex在部分低级android中的支付宝窗口表现
			display flex用在移动端布局 当该元素是inline元素如span的时候回出现无宽高的情况,需要增加display:block: 他的子元素如果是inline元素那么也同样会出现这个问题,需 ... 
- 严重:The web application [web01] appears to have started a thread named ...
			Tomcat报错 严重:The web application [web01] appears to have started a thread named [PooledThread-1] but ... 
- HDU 1950 Bridging signals (LIS,O(nlogn))
			题意: 给一个数字序列,要求找到LIS,输出其长度. 思路: 扫一遍+二分,复杂度O(nlogn),空间复杂度O(n). 具体方法:增加一个数组,用d[i]表示长度为 i 的递增子序列的最后一个元素, ... 
- PHP 哈希表碰撞攻击
			理想情况下哈希表插入和查找操作的时间复杂度均为O(1),任何一个数据项可以在一个与哈希表长度无关的时间内计算出一个哈希值(key),然后在常量时间内定位到一个桶(术语bucket,表示哈希表中的一个位 ... 
