0
点赞
收藏
分享

微信扫一扫

Python零基础入门篇 - 13 - Python中的列表

文章目录

什么是列表

列表是Python 中一个非常重要的数据类型,为什么说它非常重要呢?因为在我们的实际开发过程中,列表是一个经常会用到的数据结构,它以占用空间小,浪费内存空间少这一特性而被广泛应用。

  • 列表就是队列
  • 它是各种数据的集合,也是一种数据结构
  • 列表是一个有序且内容可以重复的集合类型

列表是一个有序的序列,列表中所有的元素放在 [] 中间,并用逗号分开,例如:

  • [1, 2, 3],一个包含 3 个整数的列表
  • [‘a’, ‘b’, ‘c’],一个包含 3 个字符串的列表

通过索引 [] 获取列表中指定位置的元素,示例如下:

>>> x = ['a', 'b', 'c']
>>> x[0]
'a'
>>> x[1]
'b'
>>> x[2]
'c'
  • 在第 2 行,获取列表 x 的第 0 个元素 ‘a’
  • 在第 4 行,获取列表 x 的第 1 个元素 ‘b’
  • 在第 6 行,获取列表 x 的第 2 个元素 ‘c’

列表的定义

  • 在 Python 中, list 代表着 列表 这种数据类型,也可以使用它定义一个列表
  • 在 Python 中,列表的元素存在于一个 [] 中,示例如下
  • 在 Python 中,列表是一个无限制长度的数据结构(但应当避免创建超大列表的情况)
  • 一个 列表 可以包含不同类型的元素,但通常使用时各个元素类型相同
names = list(["lily", "jack", "hanmeimei"])
ages = [17, 18, 17]
print(names[0] + "的年龄是" + str(ages[0]))
print(type(names))

列表的类型

  • 列表元素可以是任意数据类型,也可以混搭
  • 可以数组嵌套数组,俗称二元数组
list1 = [1, 2, 3, 1.11]
list2 = ["a", "b", "c"]
list3 = [True, False]
list4 = [{"a": 123}, {"b": 456}]
list5 = [[1], [2]]
list6 = [(1), (2)]
list7 = [1, 1.2, "2", True, {}, [], ()]

in、max、min 在列表中的使用

关键字 in

通过关键字 in 检查列表中是否包含指定元素,示例如下:

>>> 'lily' in ["lily", "jack", "hanmeimei"]
True
>>> 'neo' in ["lily", "jack", "hanmeimei"]
False
  • 在第 1 行,检测字符串 ‘lily’ 在列表中
  • 在第 3 行,检测字符串 ‘neo’ 不在列表中

max(列表) 函数

使用函数 max 获取列表中最大的元素,示例如下:

>>> max([1, 2])
2
>>> max([1, 3, 2])
3

min(列表) 函数

使用函数 min 获取列表中最小的元素,示例如下:

>>> min([1, 2])
1
>>> min([1, 3, 2])
1

需要注意的是,max 和 min 在列表中使用的时候,列表中的元素不能是多个类型,如果类型不统一,会产生报错。

关于 list 的小练习

none_list = [None, None, None]

print(none_list)
print(bool(none_list))
# >>>True

print(len(none_list))
# >>>3

print([])
print(bool([]))
# >>>False

max_list = [1, 3.14]
print(max_list)
print(max(max_list))
# >>>3.14

print(min(max_list))
# >>>1

在尝试以下场景,当前班级的英语成绩分别是 100, 94, 98, 95, 97, 66, 87, 79, 99, 92, 88, 98.5, 95, 100, 77, 69, 86, 97, 79, 97, 99, 95, 66, 95, 98, 95.5, 88.5

请统计当前共有多少名学生,最高分和最低分分别是多少?

en_score_list = [100, 94, 98, 95, 97, 66, 87, 79, 99, 92, 88, 98.5, 95, 100,
                 77, 69, 86, 97, 79, 97, 99, 95, 66, 95, 98, 95.5, 88.5]

stu_amount = len(en_score_list)
max_score = max(en_score_list)
min_score = min(en_score_list)
print("当前班级一共有学生 " + str(stu_amount) + " 人")
print("其中英语成绩最高分为 " + str(max_score) + " 分")
print("其中英语成绩最低分为 " + str(min_score) + " 分")
# >>>当前班级一共有学生 27 人
# >>>其中英语成绩最高分为 100 分
# >>>其中英语成绩最低分为 66 分

如果是一个列表中是不同数据类型又会怎样?不同数据类型的列表使用 max 函数呢? 我们再来看下面的例子

a = [1, 2, True, 3]
print(max(a))
# >>> 3

a = ["a", "b", "c"]
print(max(a))
# >>> c

a = [[1, 2], [3, 4], [3, 5]]
print(max(a))
# >>> [3, 5]
a = ["a", "b", 1]
print(max(a))


# >>> 输出结果
# >>> print(max(a))
# >>> TypeError: '>' not supported between instances of 'int' and 'str'
  • 很明显,直接报错了,提示 > 运算符不支持在 int 、str 两种数据类型做运用
  • 所以,使用 max、min 函数时,列表的数据记得是同一个数据类型哦
举报

相关推荐

0 条评论