Python数据类型详解——列表

Posted kwan-c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据类型详解——列表相关的知识,希望对你有一定的参考价值。

Python数据类型详解——列表

在“Python之基本数据类型概览”一节中,大概介绍了列表的基本用法,本节我们详细学一下列表。

如何定义列表:在[]内以英文里输入法的逗号,,按照索引,存放各种数据类型,每个位置代表一个元素。

回顾一下列表的特点

1、可存放多个值。

2、按照从左到右的顺序定义列表元素,下标从0开始顺序访问,是有序的。

3、可修改指定索引位置对应的值,可变。

一、列表元素的增加操作

1、追加

append方法将数据追加到列表的尾部

names = ['Kwan', 'Kobe']
names.append('KK')
names.append('LL')
print(names)

技术图片

2、插入

insert方法,可将数据插入任何位置

names = ['Kwan', 'Kobe', 'KK', 'LL']
names.insert(2, '小明')
print(names)

技术图片

3、合并

extend方法,可以把另外一个列表的值合并进来

names = ['Kwan', 'Kobe', 'KK']
n = ['小明', '小红']
names.extend(n)
print(names)

技术图片

4、列表嵌套

names = ['Kwan', 'Kobe', 'KK']
names.insert(2, ['李白', 'sh'])
print(names)
print(names[2][1])

技术图片

二、删除操作

1、del 直接删除

names = ['Kwan', 'Kobe', 'KK']
del names[1]
print(names)

技术图片

2、pop

names = ['Kwan', 'Kobe', 'KK', 'LL']
names.pop()     # 括号里不加参数,默认删除最后一个元素并返回被删除的值
names.pop(1)    # 删除指定索引的元素
print(names)

技术图片

3、clear 清空

names = ['Kwan', 'Kobe', 'KK']
names.clear()
print(names)

技术图片

三、修改操作

直接重新赋值即可

names = ['Kwan', 'Kobe', 'KK', "LL"]
names[1] = 'James'
names[3] = '小明'
print(names)

技术图片

四、查找操作

index()方法用来查找对应元素的索引,count()方法用来计算指定元素的个数

names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names.index('KK'))
print(names.count('Kwan'))

技术图片

五、切片

切片就像切面包,可以同时取出元素的多个值。

语法:name[start : end]

names = ['Kwan', 'Kobe', 'KK', 'LL', '小明']
print(names[1:3])   # 不会包含索引为3的元素'LL'

技术图片

注:切片的特性是顾头不顾尾,即start对应索引的元素会被包含进去,但是尾部只会包含到end-1

1、倒着切片

names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[-4:-1])

技术图片

因为顾头不顾尾的特性,此时并未将最后一个打印出来,如果想把最后一个也包含进来该怎么做呢?

names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[-4:])   # 要取到最后一个,直接不写左边的参数即可

技术图片

同理,要取到第一个值:

names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[:4])    # 也可写成names[0:4]

2、步长

通过设置步长,可以实现间隔取值

语法:names[start : end : step]

num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num[0:7:2])   # 打印索引为0的元素到索引为6的元素,步长为2
print(num[::3])     # 打印全部元素,步长为3

技术图片

3、列表反转

通过把步长设置成负值,可达到列表反转的效果

num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num[::-1])
print(num[::-2])

技术图片

六、排序、反转

1、排序

a = [34, 43, 65, 23, 12, 5]
a.sort()
print(a)

技术图片

但是下面的排序结果该如何解释呢?

names = ['Kwan', 'Kobe', 'KK', '@', '小明']
names.sort()
print(names)

技术图片

答案全在下面这张表上:

技术图片

2、反转

使用reverse()方法

names = ['Kwan', 'Kobe', 'KK', '@', '小明']
names.reverse()
print(names)

技术图片

七、列表循环

names = ['Kwan', 'Kobe', 'KK', '@', '小明']
for i in names:     # 也可以不用i,只要符合变量名规则都可以
    print(i)

技术图片

以上是关于Python数据类型详解——列表的主要内容,如果未能解决你的问题,请参考以下文章

python基础教程-数据类型详解

python学习--数据类型详解(序列类型,集合,字典)

python列表操作详解

详解Python数据类型:字符串列表元组字典集合

详解Python数据类型:字符串列表元组字典集合

详解Python数据类型:字符串列表元组字典集合