数据类型

列表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 数据类型(列表,元组,字典,集合)常用操作和内置方法的更多相关文章

  1. Python列表,元组,字典,集合详细操作

    菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...

  2. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  3. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  4. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  5. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  6. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  7. Day 07 数据类型的内置方法[列表,元组,字典,集合]

    数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...

  8. day6 六、元组、字典、集合的基本操作和内置方法

    一.元组 1.定义 # 元组tuple # 记录多个值,当值没有改的需求是,建议用元组更好 # 定义:在()内用逗号分开任意类型的值 # name = (, , 300.5]) # print(nam ...

  9. Day2 列表,元组,字典,集合

    一,列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. list=['alex', 'jack', 'chen', 'shaoye'] #创建一个列表. 特性: 1.可存 ...

随机推荐

  1. ko.js循环绑定值问题(工作遇见)

    fewTags()这是一个数组,循环实现以上效果,箭头所指的不属于循环出来的值, 以前循环是绑定在<div class="file-tag-list">中造成编辑不能在 ...

  2. 洛谷 P1094 纪念品分组

    P1094 纪念品分组 先按价格对纪念品排序(这里是从大到小),然后从两端向中心开始配对,有两个变量i和j,表示正在处理的两个纪念品编号,开始时i=1,j=n,如果a[i]+a[j]>w则第i贵 ...

  3. Linux、UNIX设置开机自动运行命令、脚本配置

    一般我们不建议人工部署开机自动启动的脚本.而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢. 2.自动开机部署脚本不好定位问题,有可能导致 ...

  4. bio,nio,aio简介

    https://mp.weixin.qq.com/s/F9WwcsFdCOwOeeDc0oc98w——<BIO,NIO,AIO 总结>总结和对比这三种的区别 https://www.jia ...

  5. Redis基础理论

    一.概述 二.数据类型 STRING LIST SET HASH ZSET 三.数据结构 字典 跳跃表 四.使用场景 计数器 缓存 查找表 消息队列 会话缓存 分布式锁实现 其它 五.Redis 与 ...

  6. Unity Shader入门精要学习笔记 - 第10章 高级纹理

    转载自 冯乐乐的 <Unity Shader入门精要> 立方体纹理 在图形学中,立方体纹理是环境映射的一种实现方法.环境映射可以模拟物体周围的环境,而使用了环境映射的物体可以看起来像镀了层 ...

  7. 一步步实现自己的ORM(四)

    通过前3章文章,大致对ORM有一定的了解,但也存在效率低下(大量用了反射)和重复代码,今天我们要对ORM进行优化. 具体流程如下: 我们优化的第一个就是减少反射调用,我的思路是定义一个Mapping, ...

  8. go实现生产者消费者

    package main import ( "fmt" "math/rand" ) func main() { ch := make(chan int) don ...

  9. python部分 + 数据库 + 网络编程

    PS:附上我的博客地址,答案中略的部分我的博客都有,直接原标题搜索即可.https://www.cnblogs.com/Roc-Atlantis/ 第一部分 Python基础篇(80题) 为什么学习P ...

  10. java 删除字符串最后一个字符的几种方法

    偶然看到的,记录一下,以免忘记 字符串:string s = "1,2,3,4,5," 目标:删除最后一个 "," 方法:    1.用的最多的是Substri ...