列表(list)—python

一、列表的定义方式

列表内的每一个数据称为元素,列表以[ ]作为标识,列表内的每个元素之间用逗号隔开

列表的基本语法如下:

#字面量
[元素1,元素2,元素3,元素4,……]

#定义变量
变量名称=[元素1,元素2,元素3,元素4,……]

#定义空列表
变量名称=[]
变量名称=list()

列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套,如下例所示:

name_list=['加菲猫','欧迪','乔恩']
print(name_list)
print(type(name_list))

输出:

['加菲猫', '欧迪', '乔恩']
<class 'list'>

list1=['apple',100,'鸿鹄']
print(list1)
print(type(list1))

输出:

['apple', 100, '鸿鹄']
<class 'list'>

name_list=['加菲猫','欧迪','乔恩']
list1=['apple',100,'鸿鹄']

#嵌套
list2=[name_list,list1]
print(list2)
print(type(list2))

list3=[['加菲猫','欧迪','乔恩'],['apple',100,'鸿鹄']]
print(list3)
print(type(list3))

输出:

[['加菲猫', '欧迪', '乔恩'], ['apple', 100, '鸿鹄']]
<class 'list'>
[['加菲猫', '欧迪', '乔恩'], ['apple', 100, '鸿鹄']]
<class 'list'>

二、列表的下标索引

列表中的每一个元素都有其编号,称之为下标索引

我们可以通过下标索引,取出特定位置的元素,如下列代码所示:

name_list=['加菲猫','欧迪','乔恩']
print(name_list[0])
print(name_list[1])
print(name_list[2])

输出:

加菲猫
欧迪
乔恩

list1=['apple',100,'鸿鹄']
print(list1[-1])
print(list1[-2])
print(list1[-3])

输出:

鸿鹄
100
apple

注意:下标索引的取值范围,超出范围无法取出元素,并且会报错

三、列表的方法

列表提供了一系列功能:插入元素、删除元素、清空列表、修改元素、统计元素个数等功能,这些功能称之为:列表的方法

3.1查找指定元素的下标

语法:列表.index(元素)

功能:查找指定元素在列表中的下标,如果找不到,报错ValueError    

具体应用:

list=[12,'water','雨','d','watermelon',45]
print(list.index('d'))

输出:

3

3.2修改特定位置的元素值

语法:列表[下标] = 值

功能:使用如上语法,直接对指定下标(正向、反向下标均可)的值进行重新赋值(修改)

具体应用:

list=[12,'water','雨','d','watermelon',45]
list[3]='c'
list[-1]=32
print(list)

输出:

[12, 'water', '雨', 'c', 'watermelon', 32]

3.3插入元素

3.3.1在指定位置插入指定元素

语法:列表.insert(下标, 元素)

功能:在指定的下标位置(正向、反向下标均可),插入指定的元素

具体应用:

list=[12,'water','雨','d','watermelon',45]
list.insert(1,'wind')
list.insert(-2,'wind')
print(list)

输出:

[12, 'wind', 'water', '雨', 'd', 'wind', 'watermelon', 45]

3.3.2在列表尾部添加指定元素

语法:列表.append(元素)

功能:将指定元素,追加到列表的尾部

具体应用:

list=[12,'water','雨','d','watermelon',45]
list.append('baby')
print(list)

输出:

[12, 'water', '雨', 'd', 'watermelon', 45, 'baby']

3.3.3在列表尾部依次添加其它数据容器中的元素

语法:列表.extend(其它数据容器)

功能:将其它数据容器中的内容取出,依次追加到列表尾部

具体应用:

list3=['apple',100,'鸿鹄']
list4=['加菲猫','欧迪','乔恩']
list3.extend(list4)
print(list3)

输出:

['apple', 100, '鸿鹄', '加菲猫', '欧迪', '乔恩']

3.4删除元素

3.4.1删除指定位置的元素(正向、反向下标均可)

语法1:del 列表[下标]

语法2:列表.pop(下标)

语法1具体应用:

list=[12,'water','雨','d','watermelon',45]
del list[0]
del list[-1]
print(list)

输出:

['water', '雨', 'd', 'watermelon']

语法2具体应用:

list=[12,'water','雨','d','watermelon',45]
list.pop(1)
list.pop(-2)
print(list)

输出:

[12, '雨', 'd', 45]

3.4.2删除指定元素在列表中的第一个匹配项

语法:列表.remove(元素)

功能:在列表中从前往后查找,找到第一个指定元素,删除

具体应用:

list=[12,'water','雨','d','watermelon','d',45]
list.remove('d')
print(list)

输出:

[12, 'water', '雨', 'watermelon', 'd', 45]

3.4.2清空列表内容

语法:列表.clear()

具体应用:

list=[12,'water','雨','d','watermelon','d',45]
list.clear()
print(list)

输出:

[ ]

3.5统计元素

3.5.1统计指定元素在列表内的数量

语法:列表.count(元素)

具体应用:

list=[12,'d','water','雨','d','watermelon','d',45]
print(list.count('d'))#列表中有多少个d

输出:

3

3.5.2统计列表内的元素个数

语法:len(列表)      

功能:得到一个int数字,表示列表内的元素数量

具体应用:

list=[12,'d','water','雨','d','watermelon','d',45]
print(len(list))

输出:

8

列表的常用方法总结如下:

编号语法功能
1列表.index(元素)查找指定元素的下标

2

列表[下标] = 值修改特定位置的元素值
3列表.insert(下标, 元素)在指定的下标位置插入指定的元素
4列表.append(元素)将指定元素,追加到列表的尾部
5列表.extend(其它数据容器)在列表尾部依次添加其它数据容器中的元素
6 del 列表[下标]删除指定位置的元素
7列表.pop(下标)
8列表.remove(元素)删除指定元素在列表中的第一个匹配项
9列表.clear()清空列表内容
10列表.count(元素)统计指定元素在列表内的数量
11len(列表)统计列表内的元素个数

四、列表的特点

  1. 可以容纳多个元素(上限为9223372036854775807个)
  2. 可以容纳不同类型的元素
  3. 数据有序存储(有下标索引)
  4. 允许重复数据存在
  5. 可以修改(增加或删除元素等操作)

五、列表的遍历

将容器内的元素依次取出进行处理的行为,称之为遍历,或者迭代。

5.1用while循环遍历列表元素

#取出列表中的偶数
list=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
i=0
while i<len(list):
    if list[i]%2==0:
        print(list[i])
    i+=1

输出:

2
4
6
8
10

5.2用for循环遍历列表元素

listone=['加菲猫','欧迪','乔恩']
for i in listone:
    print(i)

输出:

加菲猫
欧迪
乔恩

5.3while循环和for循环的对比

在循环控制上:

  • while循环可以自定义循环条件,并自行控制
  • for循环不可以自定义循环条件,只能从容器内依次取出数据

在无限循环上:

  • while循环可以通过条件控制做到无限循环
  • for循环理论上不可以做到无限循环,因为被遍历的容器容量不是无限的

在使用场景上:

  • while循环适用于任何想要循环的场景
  • for循环适用于遍历数据容器简单的固定次数循环场景
  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值