博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day5 列表
阅读量:6836 次
发布时间:2019-06-26

本文共 3349 字,大约阅读时间需要 11 分钟。

列表     查         索引(下标),默认从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 根据返回值判断正确与否

列表的切片
1 a=['wuchao','jinxin','xiaohu','sanpang','ligang'] 2 #索引表示为a[0,1,2,3,4] 即wuchao这个值表示在a[]里面的0索引位置,以此类推 3 # 查 切片 4 print(a[1:3]) 5 # 顾头不顾尾,包括左边不包括右边 6  7 print(a[1:]) 8 # 取到最后一个值 9 10 print(a[1:-1])11 # 取到最后一个值,但是不包括最后一个12 13 print(a[1:-1:1])14 # 从左到右一个一个取出来,最后的“1”表示步长15 16 print(a[1:-1:2])17 # 从左到右隔一个取,“2”表示从左往右两个为间隔的取,即隔一个取18 19 print(a[3::-2])20 # 从右往左走,如果是反方向那第一个就要是最后一个,然后从最后往前取,-2表示从右往左隔一个取

 

添加 append insert
1 a=['wuchao','jinxin','xiaohu','sanpang','ligang']2 3 a.append('xuepeng')4 print(a)5 # 添加一个元素进入a队列中的最后添加,默认添加在最后一个位置6 7 a.insert(1,'xuepeng')8 print(a)9 # #在索引1的位置插入,insert可以将数据插入到任意位置

 

修改

1 # 修改 不涉及方法,只需要进行赋值操作2 a[1] = 'haidilao'3 print(a)4 # 知道索引位置的话,就可以直接拿出来进行赋值操作替换原数据5 6 a[1:3] = ['a','b']7 print(a)8 #  对多位置进行修改,即多取值然后赋值替换

 

删除 remove pop del
1 a.remove('wuchao') 2 print(a) 3 # remove直接跟的是删除内容而不是下标,若想根据索引删除需要借助其他命令 4 # 当然可以 a.remove(a[0]) 这样删除a的索引的第0索引位置的内容,但是比较麻烦 5 # remove的删除只能是个整体,不能对多个内容进行切片删除 6  7 b=a.pop(1) 8 print(a) 9 print(b)10 # pop可以多做一个操作,即:将取出的内容保存,还可以在对其他的对象赋值11 # 若果pop不进行赋值的话,和remove用法类似,只是多了个赋值而已12 # 默认删除最后一个如果不指定位置的话13 14 del a[0]15 print(a)16 # del 的删除与列表关系不大,并不是专属列表的操作,可以删除一切,17 # 不仅仅是a内的元素甚至是a本身都可以删除

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

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

有点麻烦仅提供思路来看

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

 


 

转载于:https://www.cnblogs.com/shijieli/p/9680336.html

你可能感兴趣的文章
关于一些Linux SVN的安装使用
查看>>
B14-iOS开发中的几种存储方式
查看>>
Node js 嵌入式模板引擎 ejs 的使用
查看>>
vue 事件修饰符
查看>>
自定义的一个JDBC工具类
查看>>
数据类型(列类型)
查看>>
hihocoder [Offer收割]编程练习赛14
查看>>
mongodb_服务端安装及连接
查看>>
将baidu地图中的baidu logo去掉
查看>>
面向对象组合继承
查看>>
Oracle 数据库范式
查看>>
[设计模式]<<设计模式之禅>>模板方法模式
查看>>
281. Zigzag Iterator - Medium
查看>>
205. Isomorphic Strings - Easy
查看>>
去除Android打开软件出现的红边框
查看>>
Ubuntu 12.04.1 OK335xS busybox-1.24.1 文件系统编译错误及解决方案
查看>>
一次优秀的代码提交应该包含什么?
查看>>
CF1036C Classy Numbers dfs+二分
查看>>
linux管理和进程(4)
查看>>
公钥与私钥,HTTPS详解 转载
查看>>