文章目录
和字符串相似,列表(list) 是值的序列。在字符串中,这些值是字符;在列表中,它可以是任何类型。列表中的值称为元素(element),有时也被称为列表项(item)。
与字符串不同的是,列表是可变数据类型,它的操作都是在原列表上的操作,而不是像字符串那样会产生一个新的字符串。
例如:['life', 'is', 'short', '8848', '91']
,也可以嵌套进一个列表['life', 'is', ['short', '8848'], '91']
1.索引与切片
列表的索引与切片与字符串的规则一致。字符串操作
li = ['life', 'is', ['short', '8848'], '91', 'Python']
print(li[1]) # is
print(li[-3]) # ['short', '8848']
print(li[0:3]) # ['life', 'is', ['short', '8848']]
print(li[0:]) # ['life', 'is', ['short', '8848'], '91', 'Python']
print(li[-1:0:-2]) # ['Python', ['short', '8848']]
2.列表操作(增删改查)
list.append(obj)
在列表末尾增加对象
li = ['life', 'is', ['short', '8848'], '91', 'Python']
li.append('best')
print(li) # ['life', 'is', ['short', '8848'], '91', 'Python', 'best']
list.insert(index, obj)
将对象插入到index前面
li = ['life', 'is', ['short', '8848'], '91', 'Python']
li.insert(1, 'not')
print(li) # ['life', 'not', 'is', ['short', '8848'], '91', 'Python']
list.extend(seq)
将可迭代对象中的所有元素依次插入到列表末尾
li = ['life', 'is']
li.extend('short')
print(li) # ['life', 'is', 's', 'h', 'o', 'r', 't']
li = ['life', 'is']
li.extend(['short', 91, [8848, 'not']])
print(li) # ['life', 'is', 'short', 91, [8848, 'not']]
list.pop([index=-1])
移除列表中的一个元素(默认值为最后一个),并返回删除的元素值
li = ['life', 'is', ['short', '8848'], '91', 'Python']
word = li.pop(1)
print(li) # ['life', ['short', '8848'], '91', 'Python']
print(word) # is
list.remove(obj)
在列表中移除目标对象的第一个匹配项
li = ['life', 'is', ['short', '8848'], '91', 'Python', ['short', '8848']]
li.remove(li[2]) # li.remove(['short', '8848'])
print(li) # ['life', 'is', '91', 'Python', ['short', '8848']]
list.clear()
清空列表
li = ['life', 'is', ['short', '8848'], '91', 'Python', ['short', '8848']]
li.clear()
print(li) # []
del
删除列表中的元素,也可以删除整个列表
li = ['life', 'is', ['short', '8848'], '91', 'Python']
del li[2]
print(li) # ['life', 'is', '91', 'Python']
del li
print(li) # 这里会报错,因为li列表已经不存在了
list.sort(cmp=None, key=None, reverse=False)
用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。默认为升序排列,当 reverse = True 时为降序排列。对数字按照大小进行排序,对于字符串按照字典序排序。
li = ['life', 'is', 'short', '8848', '91', 'Python']
li.sort()
print(li) # ['8848', '91', 'Python', 'is', 'life', 'short']
li.sort(reverse=True)
print(li) # ['short', 'life', 'is', 'Python', '91', '8848']
list.reverse()
反向排序列表
li = ['life', 'is', 'short', '8848', '91', 'Python']
li.reverse()
print(li) # ['Python', '91', '8848', 'short', 'is', 'life']
list.count(obj)
统计指定元素在列表中出现的次数
li = ['life', 'is', '91', 'short', '91', 'Python', 91, '91']
num = li.count('91')
print(num)
list.index(obj)
找到目标元素在列表中第一次出现的位置,返回下标
li = ['life', 'is', '91', 'short', '91', 'Python', 91, '91']
num = li.index('91')
print(num) # 2
3.函数操作
len(list)
返回列表中的元素个数
li = ['life', 'is', '91', 'short', '91', 'Python', 91, '91']
num = len(li)
print(num) # 8