火龙信奥
  • 首页
  • 课程
  • 题库
  • 打卡
    • 代码对战
    • 快速对战
  • 题单
  • 团队
  • 荣誉墙
  • 商城
  • 登录 / 注册

【python】列表讲义

作者: 作者的头像   huolong , 时间:2023-08-16 09:29:28 , 所有人可见, 阅读  5

为什么需要列表:

列表相当于一个容器。可以把一系列相关的值放在这个容器中进行存储。比如现在要存储水果的种类,那么如果通过之前的方式,一种水果用一个变量存储,那么代码将变得非常糟糕。正确的存储方式应该是定义一个列表类型的变量,然后把所有这些水果的名字存储到这个列表中。在其他编程语言中,叫做数组。

列表介绍:

如何定义列表:使用左右两个中括号的形式。

 fruits = ['apple','banana','orange']
 # 列表中的值,可以为不同的数据类型
 test_list = ['a',1]

如何取列表中的值:列表支持下标操作,跟字符串的下标操作是一样的。

 fruits = ['apple','banana','orange']
 a = fruits[0]
 b = fruits[1]
 c = fruits[2]

列表的遍历:使用for和while循环都可以遍历。但一般推荐使用for循环。

for循环版本的:

  fruits = ['apple','banana','orange']
  for fruit in fruits:
      print(fruit)

while循环版本的:

  fruits = ['apple','banana','orange']
  index = 0
  length = len(fruits)
  while index < length:
      fruit = fruits[index]
      print(fruit)

列表嵌套:列表中可以存储任何数据类型,当然也包括列表自身类型。也即,列表中也可以存储列表:

test_list = [1,2,3,['a','b','c']]
for temp in test_list:
    print(temp)

列表相加:列表相加,相当于把后面一个列表的数据追加到第一个列表后面。

a = [1,2,3]
b = [4,5,6]
c = a + b
print(c)

列表的切片操作:跟字符串中的切片操作是一样的。

开始位置:包括开始位置。
结束位置:会取到结束位置前一个元素。
步长:默认位1,如果步长为负数,则从右到左。如果步长正数,则从左边到右边。
切片可以赋值。
逆序:list[-1::-1]

列表常用操作:

append:在列表末尾添加元素。
 fruits = ['apple']
 fruits.append('banana')
count:统计某个元素在列表中出现的次数。
 temps = ['to','be','or','not','to','be']
 print(temps.count('to'))
extend:将一个列表中元素追加到另外一个列表中。
 a = [1,2,3]
 b = [4,5,6]
 c = a.extend(b)
 # c的结果是:1,2,3,4,5,6
index:找出列表中第一个某个值的第一个匹配项的索引位置,如果没有找到,则抛出一个异常:
 knights = ['hello','world']
 print(knights.index('hello'))
insert:将某个值插入到列表中的某个位置:
 chars = ['hello','world']
 chars.insert(1,'nihao')
pop方法:移除列表中最后一个元素,并且返回该元素的值:
 x = [1,2,3]
 temp = x.pop() # 返回3
remove方法:移除列表中第一个匹配的元素,不会返回这个被移除的元素的值。如果被移除的这个值不存在列表中,则会抛出一个异常。
 x = [1,2,3]
 x.remove(2)
reverse:将列表中的元素反向存储。会更改原来列表中的值。
 x = [1,2,3]
 x.reverse()
 print(x) #这时候x已经变成3,2,1了
sort:将列表中的元素进行排序。会更改原来列表中的位置。

 x = [4,2,1,5,3]
 x.sort()
 print(x)

要区分sorted函数,sorted函数不会更改原来列表的位置,并且会返回一个排序后的值。

 x = [4,2,1,5,3]
 y = sorted(x)
 print(y)

del关键字:根据下标删除元素:

a = [1,2,3]
del a[0]
print(a) # [2,3]

使用in判断列表中是否有某个元素:

x = [1,2,3]
if 1 in x:
    print(True)
else:
    print(False)

list函数:将其他的数据类型转换成列表:

a = 'hello'
print(list(a))

列表生成式:

列表生成式,可以将好几行的代码写在一行中。比如要获取一个从1-100的整数值的列表。如果通过传统的方式,那么只能这样写:

    values = []
    for x in range(1,101):
        value.append(x)

如果通过列表生成式,那么可以通过以下一行代码实现:

    values = [x for x in range(1,101)]

当然也可以在列表生成式的时候,判断条件,只有满足条件的才会被加入到列表中:

    values = [x for x in range(1,101) if x%2==0]

—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com

©2026加盟我们 | 关于我们 | ACM课程 | 常见问题 | 成果墙 | 评测记录 | 浙ICP备2021013995号
在线画图 | OI WIki | 打字练习
火龙信奥
请输入登录信息


请完成安全验证
验证码底图 滑块
向右拖动滑块完成验证
请输入用户名 / 绑定的手机号码



请输入注册信息(手机号验证码注册)





验证码5分钟有效,60秒内不可重复获取,每日最多3次

微信登录

微信登录二维码

正在生成二维码...

账号已过期,请续期。
去续期

绑定手机号

📱

为了更好地保护您的账号安全,享受完整的平台服务

请您尽快绑定手机号码