python3列表基本操作

 

列表和字典是最常用的Python数据类型,它的表现形式是用方括号包裹,用逗号隔开每个元素,且里面的元素可以不是一种数据类型(它可以作为一个方括号内的逗号分隔值出现。且列表的数据项不需要具有相同的类型),就像下面这样!既有字符串又有整数。

list1 = ['zhangsan', 'lisi', 'wangwu', 123]

对于数据的操作一般就是增、删、改、查

首先来说说 的操作:

要想访问列表中值可以使用索引,同样你也可以使用方括号的形式截取字符。

list1 = ['zhangsan', 'lisi', 'wangwu', 123]
# 我想访问zhangsan这个值就可以用索引将其取出

print(list1[0])

列表中每个元素都分配一个索引,第一个是0,第二个是1,以此类推。

以上实例输出结果:

‘zhangsan’

如果想把中间两元素取出来该怎么操作呢!

是不是可以用下面这种方法?

list1 = ['zhangsan', 'lisi', 'wangwu', 123]
print(list1[1], list1[2)

但是这是数据很少的情况!如果是数据特别多的情况,且想取中间100个数据,或者是10000个数据,就不能用索引的方式了,因为太麻烦。所以如果想取中间数据,或是一下要取得数据较多的情况,可以用切片进行操作。如下

取出中间两个元素,

list1 = ['zhangsan', 'lisi', 'wangwu', 123]
print(list1[1:3])
# 注意:切片操作时,起始位置包括,结束位置不包括,例如上面的1包括,3不包括

以上输出结果:

['lisi', 'wangwu']

 如果想取从第一个元素到第n个元素:

print(list1[0:n])

list1 = ['zhangsan', 'lisi', 'wangwu', 123]
print(list1[0:3])
print(list1[:3])
# 这两种输出结果是一样的
['zhangsan', 'lisi', 'wangwu']
['zhangsan', 'lisi', 'wangwu']

想取最后一个该怎么取呢!加 '-' 号从列表后面开始往前:

list1 = ['zhangsan', 'lisi', 'wangwu', 123]
print(list1[-1])
123

那如果想取倒数第1和第2怎么取呢!

list1 = ['zhangsan', 'lisi', 'wangwu', 123]
print(list1[-2:])

以上输出结果:

['wangwu', 123]

找出元素所在位置的索引

list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123]
print(list1.index('xieba'))

以上输出结果:

2

统计列表里相同的元素

list1 = ['zhangsan', 'xieba', 'lisi', 'xieba','wangwu', 123]
print(list1.count('xieba'))

以上输入结果:

2

来说说 的操作:

list1 = ['zhangsan', 'lisi', 'wangwu', 123]
#追加到最后
list1.append(zhaoliu)
print(list1)

以上输出结果:

['zhangsan', 'lisi', 'wangwu', 123, 'zhaoliu']

插入到指定位置

例如想插入到'zhangsan'和'lisi'中间,或者另一种说法是插入到'lisi'现在的位置

list1 = ['zhangsan', 'lisi', 'wangwu', 123]
list1.insert(1,'luoqi')
print(list1)

以上输出结果:

['zhangsan', 'luoqi', 'lisi', 'wangwu', 123]

来说说   的操作:

想把其中的某一个元素改掉

例如把'luoqi'换掉

list1 = ['zhangsan', 'luoqi', 'lisi', 'wangwu', 123]
list1[1] = 'xieba'
print(list1)

以上输入结果:

['zhangsan', 'xieba', 'lisi', 'wangwu', 123]

反转列表

list1 = ['zhangsan', 'luoqi', 'lisi', 'wangwu', 123]
list1.reverse()
print(list1)

以上输出结果

[123, 'wangwu', 'lisi', 'luoqi', 'zhangsan']

 合并列表

list1 = ['zhangsan', 'luoqi', 'lisi', 'wangwu', 123]
list2 = [1,2,2,3,4,45,'ll']
list1.extend(list2)
print(list1)

以上输出结果:

['zhangsan', 'luoqi', 'lisi', 'wangwu', 123, 1, 2, 2, 3, 4, 45, 'll']

来说说  的操作:

 直接用名字删除

list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123]
list1.remove('xieba')
print(list1)

以上输出结果:

['zhangsan', 'lisi', 'wangwu', 123]

用索引删除

list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123]
del list1[1]
print(list1)

以上输出结果:

['zhangsan', 'lisi', 'wangwu', 123]

直接删掉整个列表包括这个列表变量

del list1

默认直接删掉最后一个

list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123]
list1.pop()
print(list1)

以上输出结果:

['zhangsan', 'xieba', 'lisi', 'wangwu']

也可以输入下标指定删除那个元素

list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123]
list1.pop(1)
print(list1)

以上输出结果:

['zhangsan', 'lisi', 'wangwu', 123]

 清空

list1 = ['zhangsan', 'xieba', 'lisi', 'wangwu', 123]
list1.clear()
print(list1)

以上输出结果:

[]
posted @ 2021-10-05 13:33  小寒神。  阅读(129)  评论(0编辑  收藏  举报