python基础知识之列表

列表

表现形式为[],里面的元素之间用逗号隔开,元素可以是任意类型,相比于字符串,列表可以存储各种数据类型,而且可以存储大量数据
列表的主要操作就是增删改查:

增:append insert extend

首先创建一个列表:lis = [1,'a',(1,2,3),'hello']

append会在列表末尾处添加指定元素
lis.append('aaa')
print(lis)
输出:[1, 'a', (1, 2, 3), 'hello', 'aaa']

insert会在指定索引处插入新元素
lis.insert(1,'插入')
print(lis)
输出:[1, '插入', 'a', (1, 2, 3), 'hello']

当指定的索引超出列表长度时 并不会报错,此时会在末尾处插入元素
lis.insert(100,'越界不报错')
print(lis)
输出:[1, 'a', (1, 2, 3), 'hello', '越界不报错']

extend会以迭代的方式插入元素,就是把要插入的内容拆分成单个元素再插入
lis.extend('abc')
print(lis)
输出:[1, 'a', (1, 2, 3), 'hello', 'a', 'b', 'c']

但是只会拆分第一级元素,从下面可以看出'hello'本身并没有被拆分
lis.extend(['a','bc','hello'])
print(lis)
输出:[1, 'a', (1, 2, 3), 'hello', 'a', 'bc', 'hello']

删: pop remove del clear

lis = [1,'a',(1,2,3),'hello']

pop会按索引去删除,并返回被删除的元素,如果不给索引则默认删除最后一个
res = lis.pop()

输出:[1, 'a', (1, 2, 3)]

remove会按照元素值去删除,没有返回值,如果元素不存爱则会报错
lis.remove('a')
print(lis)
输出:[1, (1, 2, 3), 'hello']

del 和pop类似,也是按照索引删除元素,但是del可以直接删除整个列表
del lis[3]
print(lis)
输出:[1, 'a', (1, 2, 3)]

del还可以用切片的方式删除元素,注意灵活运用
del lis[0:3:2]
print(lis)
输出:['a', 'hello']

clear 方法则会清空列表
lis.clear()

改:列表的修改方式很简单,直接按索引修改

lis = [1,'a',(1,2,3),'hello']

lis[2] = '修改后的元素'
print(lis)
输出:[1, 'a', '修改后的元素', 'hello']

还可以按切片修改,如果用切片的方式修改列表时,会删除指定索引的元素并且将新的值拆分成元素再添加到该位置
lis[1:3] = 'test' 
print(lis)
输出:[1, 't', 'e', 's', 't', 'hello']

但是拆分时只会拆分第一级元素
lis[1:3] = [[1,2],1,'a']
print(lis)
输出:[1, [1, 2], 1, 'a', 'hello']

查: 列表的查询除了可以用索引和切片的方式外还可以用for循环的方式

lis = [1,'a',(1,2,3),'hello']
for i in lis:
    print(i,end=' ')
输出:1 a (1, 2, 3) hello     

列表的其他常用方法:

  • lis.count() 统计指定元素在列表中出现的次数
  • lis.index()返回列表中第一次出现给定值的索引位置没有则会报错
  • lis.reverse()将列表中的元素反转
  • lis.sort() 对列表中的元素进行排序,但如果元素之间无法比较则会报错
    原文作者:格瑞姆瑞坡
    原文地址: https://segmentfault.com/a/1190000016546861
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞