day5 列表

列表

索引(下标),默认从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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值