Python数据容器之列表

数据容器:

Python中的数据容器:
一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素。每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。
数据容器根据特点不同,如:
是否支持重复元素
是否支持修改
是否有序,等
分为5类,分别是:
列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)。

数据容器:列表(list)

基本语法:

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

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

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

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

列表可以一次存储多个数据,且可以为不同的数据类型,并且支持嵌套

name_list = ['dadw', 'dasdaw', 'dasdaw']
print(name_list)
print(type(name_list))
输出结果:
['dadw', 'dasdaw', 'dasdaw']
<class 'list'>

# 不同的数据类型 
my_list = ['dadw', 2323, True]
print(my_list)
print(type(my_list))
输出结果:
['dadw', 2323, True]
<class 'list'>

嵌套列表的定义

my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list)
print(type(my_list))
输出结果:
[[1, 2, 3], [4, 5, 6]]
<class 'list'>

列表的下标索引

列表中每一个元素,都有其位置下标索引,从前向后的方向,从0开始,一次递增
注意下标取值范围,超出范围会报错

name_list = ['dadw', 'dasdaw', 'dasdaw']
print(name_list[0])
print(name_list[1])
print(name_list[2])
print(type(name_list))
输出结果:
dadw
dasdaw
dasdaw
<class 'list'>

列表是嵌套列表,同样支持下标索引


my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list[0][1])
print(my_list[1][1])
print(type(my_list))
输出结果:
2
5
<class 'list'>

列表的常用操作

列表除了可以
定义
使用下标索引
还可以
修改元素
删除元素
清空列表
修改元素
统计元素个数

1.查找元素的下标
功能:查找指定元素在列表的下标,如果找不到,报错ValueError
语法:列表.index(元素)

my_list = [[1, 2, 3], [4, 5, 6]]
index = my_list[0].index(2)
print(f"列表中的下标是:{index}")
输出结果:
列表中的下标是:1

2.列表的修改功能
插入元素:
语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素

my_list = [[1, 2, 3], [4, 5, 6]]
index = my_list[0].index(2)
print(f"列表中的下标是:{index}")
my_list[1].insert(1, "sss")
print(my_list[1])
输出结果:
列表中的下标是:1
[4, 'sss', 5, 6]

追加元素:
语法:列表.append(元素),将指定元素,追加到列表的尾部

my_list = [[1, 2, 3], [4, 5, 6]]
my_list[0].append(2)
print(my_list[0])
输出结果:
[1, 2, 3, 2]

追加元素方式2:
语法:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部

my_list = [[1, 2, 3], [4, 5, 6]]
my_list[0].extend(my_list[1])
print(my_list[0])
输出结果:
[1, 2, 3, 4, 5, 6]

删除元素:
语法1:del列表[下标]
语法2:列表.pop(下标)

my_list = [[1, 2, 3], [4, 5, 6]]
my_list[0].extend(my_list[1])
print(my_list[0])
del my_list[0][2]
print(my_list[0])
my_list[0].pop(2)
print(my_list[0])
输出结果:
[1, 2, 3, 4, 5, 6]
[1, 2, 4, 5, 6]
[1, 2, 5, 6]

删除某元素在列表中的第一个匹配项
语法:列表.remove(元素)

# 删除了第一个与形参相同的元素
my_list = [1, 2, 2, 3]
my_list.remove(2)
print(my_list)
输出结果:
[1, 2, 3]

清空列表
语法:列表.clear()

my_list = [1, 2, 2, 3]
my_list.remove(2)
print(my_list)
my_list.clear()
print(my_list)
输出结果:
[1, 2, 3]
[]

统计某元素在列表内的数量(在列表之内出现的次数)
语法:列表 .count(元素)

my_list = [1, 2, 2, 3]
print(my_list.count(2))
输出结果:
2

统计列表中有多少元素
语法:len(列表)
可以得到一个int数字,表示列表内的元素数量

my_list = [1, 2, 2, 3]
prit(len(my_list))
输出结果:
4

列表的优点:
可以容纳多个元素(上限为2**63-1)
可以容纳不同类型的元素
数据有序存储
允许重复数据存在
可以修改(增删查改)

列表案例

age_list = [21, 25, 21, 23, 22, 20]
print(age_list)
age_list.append(31)
print(age_list)
new_list = [29, 33, 30]
age_list.extend(new_list)
print(age_list)
print(age_list[0])

# 从列表里取出最后一个元素  列表最后一个元素的下标是-1
print(age_list[-1])
print(age_list[len(age_list) - 1])

print(age_list.index(31))
print(f"最后列表中的内容是{age_list}")
输出结果:
[21, 25, 21, 23, 22, 20]
[21, 25, 21, 23, 22, 20, 31]
[21, 25, 21, 23, 22, 20, 31, 29, 33, 30]
21
30
30
6
最后列表中的内容是[21, 25, 21, 23, 22, 20, 31, 29, 33, 30]

列表的循环遍历

while循环

index = 0 
while index < len(列表):
	元素 = 列表[index]
	对元素进行处理
	index += 1 
	

for循环语法:

for 临时变量 in 数据容器:
	对临时变量进行处理

for循环与while对比
for用于从容器内依次取出元素并处理,while用以任何需要循环的场景

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


def while_func(num_list):
    new_list = []
    index = 0
    while index < len(num_list):
        if num_list[index] % 2 == 0:
            new_list.append(num_list[index])
        index += 1

    return new_list


new_list = while_func(my_list)
print(new_list)


def for_func(num_list):
    new_list = []
    for num in num_list:
        if num % 2 != 0:
            new_list.append(num)

    return new_list


new_list = for_func(my_list)
print(new_list)
输出结果:
[2, 4, 6, 8, 10]
[1, 3, 5, 7, 9]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李时珍的瓜皮怪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值