列表-List

目录

一、基本介绍

二、列表的定义

1、列表的定义

2、内存图说明

3、代码说明

三、列表的使用

1、列表的使用语法

2、举例说明

3、代码演示,访问/获取第3个数据/元素

四、列表的遍历 

1、什么是列表的遍历

2、实例:使用while循环,对列表进行遍历输出

3、实例:使用for循环,对列表进行遍历输出

五、列表解决养鸡场问题

六、注意事项和使用细节

七、列表常用操作

1、列表常用操作

2、演示列表常用操作

八、列表生成式

九、练习


参考文档:内置类型 — Python 3.12.4 文档

一、基本介绍

1、列表可以存放多个不同的数据类型,即:列表就是一列数据(多个数据)

2、列表也是一种数据类型

二、列表的定义

1、列表的定义

创建一个列表,只要用逗号分隔的不同的数据项使用方括号括起来即可,示例如下:

list1=[100,200,300,400,500]

list2=['red','green','blue','yellow','white','black']

2、内存图说明

3、代码说明

# 列表的定义
"""
    1、定义一个列表,名字叫 list1,值为[100,200,300,400,500]
    2、100就是其中的一个数据/元素
"""
list1 = [100, 200, 300, 400, 500]
# 输出列表数据
print(list1)  # [100, 200, 300, 400, 500]
# 输出列表的数据类型
print(type(list1))  # list

三、列表的使用

1、列表的使用语法

列表名[索引]

2、举例说明

list2=['red','green','blue','yellow','white','black']

比如:要使用list2列表的第3个值"blue",则通过 list2[2] 就可以访问到

提示:注意索引是从0开始计算的

3、代码演示,访问/获取第3个数据/元素

# 列表的使用语法
list2=['red','green','blue','yellow','white','black']

# 列出所有的数据
print(list2)  # ['red','green','blue','yellow','white','black']

# 访问/获取第3个数据/元素
print("第3个元素是:", list2[2])  # blue

四、列表的遍历 

1、什么是列表的遍历

简单的说,就是将列表的每个元素依次取出,进行处理的操作,就是遍历/迭代

2、实例:使用while循环,对列表进行遍历输出

# while 遍历列表
"""
    思路分析:
    1、先定义一个变量 index=0,表示从第一个元素开始取出
    2、列表list_color的个数为6,这里其实有一个内置函数 len(列表),可以返回个数
    3、每取出一个就输出/或者根据自己的业务处理
"""
list_color = ['red', 'green', 'blue', 'yellow', 'white', 'black']

# print(len(list_color))  # 6
# 先定义一个变量 index=0,表示从第一个元素开始取出
index = 0
while index<len(list_color):
    print(f"第 {index+1} 个元素是:{list_color[index]}")
    index+=1

 

3、实例:使用for循环,对列表进行遍历输出

# for 遍历列表
"""
    思路分析:
    1、因为for循环是直接从列表中依次取出,所以直接操作即可
    2、每取出一个就输出/或者根据自己的业务处理
"""
list_color = ['red', 'green', 'blue', 'yellow', 'white', 'black']

for ele in list_color:
    print(f"元素是:{ele}")

五、列表解决养鸡场问题

养鸡场问题:一个养鸡场有6只鸡,它们的体重分别是3kg,5kg,1kg,3.4kg,2kg,50kg。请问这六只鸡的总体重是多少?平均体重是多少?

# 使用列表解决养鸡场问题
hens = [3, 5, 1, 3.4, 2, 50]
# 计算总的体重
total_weight = 0
# 遍历 hens
for ele in hens:
    # 累加
    total_weight+=ele
print(f"总体重:{total_weight} 平均体重:{round(total_weight/len(hens),2)}")
# 总体重:64.4 平均体重:10.73

六、注意事项和使用细节

1、如果我们需要一个空列表,可以通过 [ ],或者 list() 方式来定义

# 1、如果我们需要一个空列表,可以通过 [ ],或者 list() 方式来定义
list1=[]
list2=list()
print(list1,type(list1))  # [] <class 'list'>
print(list2,type(list2))  # [] <class 'list'>

2、列表的数据项可以有多个,而且数据类型没有限制

# 2、列表的数据项可以有多个,而且数据类型没有限制
list3 = [100, "jack", 4.5, True]
print(list3)  # [100, 'jack', 4.5, True]

# 嵌套列表
list4 = [100, "tom", ["天龙八部", "笑傲江湖", 300]]
print(list4)  # [100, 'tom', ['天龙八部', '笑傲江湖', 300]]

3、列表的索引/下标是从0开始的

4、列表索引必须在指定范围内使用,否则报:IndexError: list index out of range

# 4、列表索引必须在指定范围内使用
# 有效下标为0-2
list5=[1,2.1,'jack']
# 索引越界
# print(list5[3])

5、索引也可以从尾部开始,最后一个元素的索引为-1,往前为-2,以此类推

# 5、索引也可以从尾部开始,最后一个元素的索引为-1,往前为-2,以此类推
list1 = [1, 2.1, 'jack']
print(list1[-1])  # jack
print(list1[-2])  # 2.1
# 依然不能索引越界
# print(list1[-4])

6、通过 列表[索引]=新值 对数据进行修改,使用 列表.append(值) 方法来添加元素,使用 del 语句来删除列表的元素,注意不能超出有效索引的范围

list_a=["天龙八部", "笑傲江湖"]
print("list_a:", list_a)  # list_a: ['天龙八部', '笑傲江湖']

# 通过 列表[索引]=新值 对数据进行修改
list_a[0]="雪山飞狐"
print("list_a:", list_a)  # list_a: ['雪山飞狐', '笑傲江湖']

# 使用 列表.append(值) 方法来添加元素
list_a.append("倚天屠龙")
print("list_a:", list_a)  # list_a: ['雪山飞狐', '笑傲江湖', '倚天屠龙']

# 使用del删除列表元素
del list_a[1]
print("list_a:", list_a)  # list_a: ['雪山飞狐', '倚天屠龙']

7、列表是可变序列(要注意其使用特点),看下面的代码

1)列表的元素是可以修改的,修改后,列表变量指向地址不变,只是数据内容变化

# 列表的元素是可以修改的,修改后,列表变量指向地址不变,只是数据内容变化
list1=[1,2.1,'韩顺平教育']
print(f"list:{list1} 地址:{id(list1)}")
list1[2]='python'  # 可以修改
print(f"list:{list1} 地址:{id(list1)}")

 

2)扩展一下,列表在赋值时的特点,示意图说明 

# 扩展一下,列表在赋值时的特点,示意图说明
list1=[1,2.1,'韩顺平教育']
list2=list1
list2[0]=500
print("list2=",list2)
print("list1=",list1)

 

3)扩展一下,看看列表在函数传参时的特点,示意图

# 扩展一下,看看列表在函数传参时的特点,示意图
def f1(l):
    l[0] = 100
    print("l的id:", id(l))

list10 = [1, 2.1, 200]
print("list10的id:", id(list10))
f1(list10)
print("list10:", list10)

七、列表常用操作

1、列表常用操作

1)文档:内置类型 — Python 3.12.4 文档

 2)常用操作一览

2、演示列表常用操作

# 列表常用操作
list_a = [100, 200, 300, 400, 600]
print("list_a 列表元素个数:", len(list_a))  # 5
print("list_a 列表最大元素:", max(list_a))  # 600
print("list_a 列表最小元素:", min(list_a))  # 100

# list.append(obj):在列表末尾添加新的对象
# 在列表 list_a列表后,添加900
list_a.append(900)
print("list_a:", list_a)  # [100, 200, 300, 400, 600, 900]

# list.count(obj):统计某个元素在列表中出现的次数
print("100出现的次数是:", list_a.count(100))  # 1

# list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list_b = [1, 2, 3]
# 将 list_b追加到 list_a
list_a.extend(list_b)
print("list_a:", list_a)  # [100, 200, 300, 400, 600, 900, 1, 2, 3]

# list.index(obj):从列表中找出某个值第一次匹配项的索引位置
# 如果找不到,会报 ValueError
print("300 第1次出现在序列中的索引是:", list_a.index(300))  # 2

# 翻转 list_a,list_a.reverse()
list_a.reverse()
print("list_a:", list_a)  # [3, 2, 1, 900, 600, 400, 300, 200, 100]

# 实现把666插入到index为1的位置
list_a.insert(1,666)
print("list_a:", list_a)  # [3, 666, 2, 1, 900, 600, 400, 300, 200, 100]

八、列表生成式

1、列表生成式就是"生成列表的公式"

2、基本语法

[列表元素的表达式 for 自定义变量 in 可迭代对象]

实例说明:

[ele * 2 for ele in range(1,5)]    -->  得到列表  [2,4,6,8]

[ele + ele for ele in "明天"]   -->  得到列表  ["明明","天天"]

3、案例:要求生成一个列表,内容为[1,4,9,16,25,36,49,64,81,100]

# 列表生成式
list1=[ele*ele for ele in range(1,11)]
print("list1:", list1)  # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

九、练习

循环从键盘输入5个成绩,保存到列表,并输出

# 循环从键盘输入5个成绩,保存到列表,并输出
"""
    思路分析:
    1、定义一个空列表,保持成绩 scores=[]
    2、循环操作5次,接收用户的输入,每接收一个数据就添加到列表scores
    3、输出成绩即可
"""
# 定义一个空列表,保持成绩 scores=[]
scores=[]
# 循环输入成绩
for i in range(5):
    score = float(input("请输入成绩:"))
    scores.append(score)

# 输出成绩情况
print("成绩情况是:", scores)

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值