Python中的列表

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

在Python中,列表是一种有序的可变序列,它可以存储多个不同类型的元素。列表是Python中最常用的数据类型之一,用于存储一组数据。


提示:以下是本篇文章正文内容,下面案例可供参考

一、列表基础知识

在Python中,列表(List)是一种有序、可变的数据类型,可用于存储一组数据。列表可以包含任意类型的数据,包括数字、字符串、布尔值等等。

列表中可以放入任意元素(元素可以是任意数据类型)

列表是Python中常用的数据结构之一,可以方便地存储和处理一组数据。在实际应用中,列表经常用于存储多个相关的数据,进行迭代、排序和筛选等操作。

还记得前方所讲的几种为假的情况,这里可以再补充一个了。

空列表为假

列表的声明

  • 将任意多个元素放在[]之间,使用 , 隔开
  • 使用构造函数 list() : 参数为空,为空列表; 非空:参数必须是 iterable可迭代类型的(能够使用for循环遍历的)
# 将任意多个元素放在[]之间,使用 , 隔开
l0 = []
print(type(l0))  # <class 'list'>
# 列表中可以放入任意元素(元素可以是任意数据类型)
l1 = [1, 2, 3.14, "hello", False, None, ["A", "B", "C"], range(10)]
print(type(l1))  # <class 'list'>

# 二维列表
print(l1[6][2])  # C

l3 = list()
print(type(l3))
# 非空:参数必须是 iterable可迭代的(能够使用for循环遍历的)
l4 = list("hello word")
print(l4, type(l4))  # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'd'] <class 'list'>
l5 = list(range(6))
print(l5, type(l5))  # [0, 1, 2, 3, 4, 5] <class 'list'>

# 假:False  0  None  ""  []
# if []:
#     print("真")
# else:
#     print("假")
# 结果:假
# 空列表为假

二、可变的列表与不可变的字符串

列表与前面所学的整型、浮点型、字符串等不同,他是一个可变的数据类型

1.不可变的字符串

字符串不能修改,是一个不可变类型,在一些操作中只是将变量重新赋值,并未改变字符串内容,
下面将结合代码详细讲述。
其中,id():用来查看当时的内存地址

# 字符串不能修改,是一个不可变类型
s0 = "hi python"
# s0[0] = "A"
# print(s0) # 会报错
# 'str' object does not support item assignment
# 区分replace:这是创建了一个新的字符串,s0仍然是"hi python"
print(s0.replace("hi", "Hello"), s0) # Hello python hi python

# 只是将变量重新赋值,不能改变字符串内容
# 将字符串从指向“hello”改为指向“hi”,并未将“hello”改为“hi”
# id 用来查看内存地址
s1 = "hello"
print(s1, id(s1))   # hello 1323879203248
s1 = "hi"
print(s1, id(s1))   # hi 1323879203376

# 包括int一样
n = 100
print(n, id(n))  # 100 140720244518792
n = 200
print(n, id(n))  # 200 140720244521992

2.可变的列表

列表与字符串相反,他是一个可变类型,可变指的是列表内的元素可变

# 可变列表 ==> 列表内的元素可变
l2 = []
print(id(l2))  # 2845617907200
l2.append(1)
print(l2, id(l2))  # 2845617907200

# 重新赋值,l2地址改变
# l2 = l2 + [1]
# print(l2, id(l2))  # [1, 1] 2845617779008

三、列表的遍历

列表的遍历与字符串相类似,均是通过元素或者索引下标进行遍历

  • for e in l1: ==>元素e
  • for i in range(len(l1)): ==>索引i 范围:0 ~ len - 1
l1 = [1, 2, 3.14, "hello", False, None, ["A", "B", "C"], range(10)]
# e ==> element元素
for e in l1:
    print(e)

for i in range(len(l1)):
    print(i, l1[i])

四、列表的操作方法

列表有许多有用的方法,例如添加元素、删除元素、获取列表长度等。以下是一些常用的列表方法:

  • append():在列表末尾添加一个元素

  • insert():在指定位置插入一个元素

  • extend():将可迭代内容依次放入末尾

  • pop():删除并返回指定位置的元素,空表示删除末尾

  • remove():删除列表中的指定元素,没有返回值,如果remove的元素不存在则会报错

  • clear():清空指定列表,没有返回值

  • count():统计元素出现个数

  • index():根据元素找对应的索引,找不到报错

  • reverse():列表逆序

  • sort():对列表进行排序,默认升序

  • sort(reverse=True):降序排序

列表是可变类型,需要注意操作的返回值

具体使用方法:

# 列表是可变类型  需要注意操作的返回值
l0 = [3, 5, 7]
# r = l0.append(9)
# print(l0, r)  # [3, 5, 7, 9] None
# 没有返回值

# 末尾追加
l0.append(9)
print(l0)  # [3, 5, 7, 9]
# 在指定位置插入指定元素
l0.insert(0, 1)
print(l0)  # [1, 3, 5, 7, 9]
l0.insert(2, 4)
print(l0)  # [1, 3, 4, 5, 7, 9]
# 将可迭代内容依次放入末尾  可迭代:字符串  列表  range
l0.extend(range(11, 19, 2))
print(l0)  # [1, 3, 4, 5, 7, 9, 11, 13, 15, 17]

# 将末尾删除并返回
r = l0.pop()
print(r, l0)  # 17 [1, 3, 4, 5, 7, 9, 11, 13, 15]
# 带索引:删除指定元素
r = l0.pop(4)
print(r, l0)  # 7 [1, 3, 4, 5, 9, 11, 13, 15]
# 删除指定元素  没有返回值
l0.remove(11)
print(l0)  # [1, 3, 4, 5, 9, 13, 15]
# 如果remove的元素不存在则会报错
# l0.remove(100)
# 清空指定列表,没有返回值
r = l0.clear()
print(r, l0)  # None []

l1 = [1, 3, 5, 7, 9, 5]
# 统计元素出现个数
print(l1.count(5))  # 2
print(l1.count(50))  # 0
l = [1, 2, 3, 4, [50]]
print(l.count(50))  # 0
# 类型不一样

# 根据元素找对应的索引 找不到报错
print(l1.index(7))  # 3
print(l.index([50]))  # 4
# print(l.index(50))  # 报错

# 将列表逆序,仍然可变
l1.reverse()
print(l1)  # [5, 9, 7, 5, 3, 1]

# 排序,没有返回值,默认升序
l1 = [1, 3, 5, 7, 9, 5]
r = l1.sort()
print(r, l1)  # None [1, 3, 5, 5, 7, 9]
# 降序
r = l1.sort(reverse=True)
print(r, l1)  # None [9, 7, 5, 5, 3, 1]

# 将列表重复3次
l1 *= 3
print(l1)
# [9, 7, 5, 5, 3, 1, 9, 7, 5, 5, 3, 1, 9, 7, 5, 5, 3, 1]

习题

题目:随机向列表中放入50个位于10,100之间的数字,求最大数字和最小数字的差值

import random

l = []
for i in range(50):
    l.append(random.randint(10, 100))
print(max(l) - min(l))
ma = mi =l[0]
print(l)

for i in range(1, len(l)):
    if l[i] > ma:
        ma = l[i]
    if l[i] < mi:
        mi = l[i]
print(ma - mi)

在这里插入图片描述


总结

以上就是今天要讲的内容,本文仅仅简单介绍了列表的使用,而列表是Python中一种非常实用的数据结构,可以方便地存储和操作一组数据。

  • 44
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值