列表    查        索引(下标),默认从0开始        切片        .count 查某个元素的出现次数        .index 根据内容找元素的对应索引位置    增加        .append() 追加在最后        .insert(index,'内容')  根据索引位置添加        .extend() 扩展一个列表 a.extemd(b) 会改变a的值,即a变成 a和b的合并,但是b不变         "+"  a + b  也可以把两个队列合并在一起,倘若想知道a+b但是不想a,b改变。可以用c = a + b得到值而不改变a和b    修改        a[index] = '新的值' 单一赋值        a[start:end] = [a,b,c...] 多个赋值    删除        remove('内容')        pop("index") 删除指定位置的内容,且可以赋值        del a , del a[index] 删除一个列表或者根据位置删除内容        .clear() 清空列表    排序        .sort()  用被排序的变量作为队形执行排序的函数,按照从小向大排序,字母按照从a到z的顺序,用大写先大后小        sorted()   将被排序的变量作为函数的执行参数,进行排序        severse()  反序排列    身份判断        type(a) is list 根据返回值判断正确与否

列表的切片
 a=['wuchao','jinxin','xiaohu','sanpang','ligang']
 #索引表示为a[0,1,2,3,4] 即wuchao这个值表示在a[]里面的0索引位置,以此类推
 # 查 切片
 print(a[1:3])
 # 顾头不顾尾,包括左边不包括右边

 print(a[1:])
 # 取到最后一个值

 print(a[1:-1])
 # 取到最后一个值,但是不包括最后一个

 print(a[1:-1:1])
 # 从左到右一个一个取出来,最后的“1”表示步长

 print(a[1:-1:2])
 # 从左到右隔一个取,“2”表示从左往右两个为间隔的取,即隔一个取

 print(a[3::-2])
 # 从右往左走,如果是反方向那第一个就要是最后一个,然后从最后往前取,-2表示从右往左隔一个取

添加 append insert
 a=['wuchao','jinxin','xiaohu','sanpang','ligang']

 a.append('xuepeng')
 print(a)
 # 添加一个元素进入a队列中的最后添加,默认添加在最后一个位置

 a.insert(1,'xuepeng')
 print(a)
 # #在索引1的位置插入,insert可以将数据插入到任意位置

修改

 # 修改 不涉及方法,只需要进行赋值操作
 a[1] = 'haidilao'
 print(a)
 # 知道索引位置的话,就可以直接拿出来进行赋值操作替换原数据

 a[1:3] = ['a','b']
 print(a)
 #  对多位置进行修改,即多取值然后赋值替换

删除 remove pop del
 a.remove('wuchao')
 print(a)
 # remove直接跟的是删除内容而不是下标,若想根据索引删除需要借助其他命令
 # 当然可以 a.remove(a[0]) 这样删除a的索引的第0索引位置的内容,但是比较麻烦
 # remove的删除只能是个整体,不能对多个内容进行切片删除

 b=a.pop(1)
 print(a)
 print(b)
 # pop可以多做一个操作,即:将取出的内容保存,还可以在对其他的对象赋值
 # 若果pop不进行赋值的话,和remove用法类似,只是多了个赋值而已
 # 默认删除最后一个如果不指定位置的话

 del a[0]
 print(a)
 # del 的删除与列表关系不大,并不是专属列表的操作,可以删除一切,
 # 不仅仅是a内的元素甚至是a本身都可以删除

其他操作 
 # count 出现频率
 t = ['to','to','to','or'].count('to')
 print(t)
 # #对列表内的指定元素进行次数计算
 #extend 添加数组
 a = [1,2,3]
 b = [4,5,6]
 a.extend(b)
 print(a)
 print(b)
 # #对多个数组进行叠加,只改变被添加的数组,添加的数组无改变
 # index 根据元素内容查找在列表中的索引位置
 a=['wuchao','jinxin','ligang','xiaohu ','sanpang','ligang','ligang']
 print(a.index('wuchao'))
 # 在知道元素内容的时候,想要得到此内容的地址索引
 # 如果列表总有相同的元素,即想取的元素多个重复,index只能取第一个的位置
 # 如果想要取多个,可以一个一个取,index不支持此操作,因此需要切片
 # sort 按照从小到大排序,如果是字符串的话就是按照26字母顺序排序,如果有大小写,先大后小
 b = [3,5,4,9,8,2,1]
 b.sort()
 print(b)
 #没有返回值,是不能进行赋值操作的,如果是a = b.sort() 返回的是 none
 # 查找某个元素在不在列表时,可以 .count 查询次数,为0表示不在,或者直接 in 根据返回值查看
 a=['wuchao','jinxin','ligang','xiaohu ','sanpang','ligang','ligang']
 print(a.count('ssssss'))

 print('sssss' in a )

查找队列中第几个的相同元素的示例方法

有点麻烦仅提供思路来看

 # 详细的取第二个李刚的位置索引,相当的麻烦,如果要取第三第四,就用循环吧
 # 这种情况很少。也有其他的方法,比如找出一个删掉再找一个一个再删掉之类的。。
 first_lg_index = a.index('ligang') #首先取出来第一个李刚的位置
 little_a = a[first_lg_index + 1:]   #基于第一个李刚的位置进行切片。而且不包括第一个李刚,即‘+1’位置后的元素进行切片创建一个小列表
 print('first_lg_index:',first_lg_index)   #打印出第一个李刚的索引位置用作后续计算。
 second_lg_index = little_a.index('ligang') #将第二个李刚的位置找出来并赋值给一个变量
 print('second_lg_index',second_lg_index)  #打印出第二个李刚的索引位置用作后续计算
 second_lg_in_big_index = first_lg_index + second_lg_index + 1 #第一个李刚的位置加第二个李刚的位置,因为前面切片时省略了第一个李刚的位置,因此需要‘+1’补充回来
 print('second_lg_in_big_index:',second_lg_in_big_index)    #打印出来计算结果
 print('second lg:',a[second_lg_in_big_index])                #打印出查询词

												

day5 列表的更多相关文章

  1. Python之旅Day5 列表生成式 生成器 迭代器 装饰器

    装饰器 器即函数,装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 装饰器涉及的知识点= 高阶函数+函数嵌套+闭包 在遵循下面两个原则的前提下为被装饰者新功能 ...

  2. day5 列表的增删改查

    1,列表的增删改查,其他操作.2,元祖.3,列表的嵌套操作.4,开一点dict. 昨日内容回顾: 字符串的方法:1,find通过元素找索引,可切片,找不到返回-12,index,找不到报错.3,spl ...

  3. 【学习笔记】--- 老男孩学Python,day5 列表 元祖

    今日主要内容1. list(增删改查) 列表可以装大量的数据. 不限制数据类型. 表示方式:[] 方括号中的每一项用逗号隔开 列表和字符串一样.也有索引和切片 常用的功能: 1. 增: append( ...

  4. day 69-70 一对一 一对多 多对一联表查询

    day 69 orm操作之表关系,多对多,多对一 多对一/一对多, 多对多{类中的定义方法} day69 1. 昨日内容回顾 1. 单表增删改查 2. 单表查询API 返回QuerySet对象的: 1 ...

  5. day5(字符编码、数据类型、列表基本操作)

    一.字符编码 计算器所认识的编码都是二进制编码 二进制与十进制转换 计算机最开始使用的编码是美国的 ASCll编码 计算机容量单位 字符编码 python2.x 默认编码使用的是ASCll pytho ...

  6. day5.python列表练习题

    写代码,有如下列表,按照要求实现每一个功能 li = [“alex”, “WuSir”, “ritian”, “barry”, “wenzhou”] 1.计算列表的长度并输出 print(len(li ...

  7. day5 五、数字类型、字符串,列表类型的基本操作和内置方法

    一.可变与不可变 可变:值改变,但是id不变,证明就是在改变原值,是可变类型.它的原理是在内存里有一个值,然后这个值发生了改变,意为id地址是同一个,没有变化 # l=['a','b'] # prin ...

  8. day5作业(基本数据类型字符串,列表)

    #coding:utf-8'''默写99乘法标 金字塔 必做: 1.昨日选做题 博客中有 http://www.cnblogs.com/linhaifeng/articles/7133357.html ...

  9. day5笔记 列表 list 增删改查

    列表的使用 一.索引和切片 # 索引和切片,用法与字符串一样 l = [1,2,3,'af','re',4,'45'] print(l[0]) print(l[3]) print(l[-1]) # ' ...

随机推荐

  1. wpf项目打开多个窗体在任务栏只有一个任务

    原文:wpf项目打开多个窗体在任务栏只有一个任务 如果在wpf里,在一个父窗体上打开子窗体,只在任务栏显示一个任务,不是qq聊天窗口俩人聊天人显示俩给那样,只能显示 一个 private void B ...

  2. 【强化学习】python 实现 q-learning 例三(例一改写)

    本文作者:hhh5460 本文地址:https://www.cnblogs.com/hhh5460/p/10139738.html 例一的代码是函数式编写的,这里用面向对象的方式重新撸了一遍.好处是, ...

  3. 【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用

    1. 前言 为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合. 产品集成存储经历过几个阶段: 1.单机本机存储. 系统使用本地硬盘存储 2.单网络集中存储. 局域 ...

  4. 【nodejs】让nodejs像后端mvc框架(asp.net mvc )一样处理请求--自动路由篇(1/8)【route】

    文章目录 前情概要 在使用express框架开发的时候,每加一个请求,都在增加一条route请求规则,类似于下面的代码,很烦有木有! app.use('/myroute path', (req, re ...

  5. 【nodejs】让nodejs像后端mvc框架(asp.net mvc)一样处理请求--控制器和处理函数的注册篇(4/8)【controller+action】

    文章目录 前情概要 前边的文章把一些基本的前置任务都完成了.接下就是比较重要的处理函数action是如何自动发现和注册的拉,也就是入口函数RouteHandler(也是我们的第一个express中间件 ...

  6. Tomcat通过自带的Cluster方式实现Session会话共享环境操作记录

    一般来说,在多个tomcat集群业务中,session会话共享是必须的需求,不然前端nginx转发过来的请求不知道之前请求在哪台tomcat节点上,从而就找不到session以至于最终导致请求失败.要 ...

  7. Nginx+keepalived 双机热备(主主模式)

    之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...

  8. shell+curl监控网站页面(域名访问状态),并利用sendemail发送邮件

    应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...

  9. Samba共享目录的多用户权限设置案例

    下面根据实际工作中遇到的一个共享目录的多用户权限需求案例来说明下Samba用户权限的设置. 一.需求场景领导:李一(liyi)正式员工(zhengshiyuangong):刘二二(liuerer).于 ...

  10. 《linux内核设计与实现》第四章

    调度程序负责决定哪个进程投入运行,何时运行以及运行多长时间.只有通过调度程序合理调度,系统资源才能最大限度发挥作用,多进程才会有并发执行的效果. 最大限度地利用处理器时间的原则是,只要有可以执行的进程 ...