news 2026/5/15 8:01:14

Python返回数组/List长度的方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python返回数组/List长度的方法

你想了解在 Python 中获取列表(List,也常被俗称 “数组”)长度的方法,这是 Python 基础中高频使用的操作,核心是通过内置函数实现,同时需要掌握不同场景下的使用细节(比如嵌套列表、numpy 数组等)。

一、核心方法:len()内置函数

Python 中获取列表长度的唯一标准且最高效的方法是使用内置函数len(),它适用于所有可迭代对象(列表、元组、字符串、字典等),语法简单且性能优异(时间复杂度 O (1),因为 Python 列表底层会维护长度属性,无需遍历计算)。

1. 基础用法示例

python

# 1. 普通列表的长度 nums = [1, 2, 3, 4, 5] length = len(nums) print(f"列表nums的长度:{length}") # 输出:列表nums的长度:5 # 2. 空列表的长度(返回0) empty_list = [] print(f"空列表的长度:{len(empty_list)}") # 输出:空列表的长度:0 # 3. 包含不同类型元素的列表 mix_list = [1, "Python", True, None, [6,7]] print(f"混合列表的长度:{len(mix_list)}") # 输出:混合列表的长度:5(每个元素算1个)
2. 嵌套列表的长度(关键注意点)

len()仅计算外层列表的元素个数,不会递归统计嵌套列表的所有元素总数:

python

# 嵌套列表 nested_list = [[1, 2, 3], [4, 5], [6]] # 外层长度:3(3个嵌套子列表) print(f"外层列表长度:{len(nested_list)}") # 输出:外层列表长度:3 # 如需统计所有嵌套元素的总数,需手动遍历/递归 total = 0 for sub_list in nested_list: total += len(sub_list) print(f"所有嵌套元素总数:{total}") # 输出:所有嵌套元素总数:6 # 递归统计任意深度嵌套列表的总元素数(进阶) def count_total_elements(lst): count = 0 for item in lst: if isinstance(item, list): count += count_total_elements(item) else: count += 1 return count deep_nested = [1, [2, [3, 4], 5], 6] print(f"深度嵌套总元素数:{count_total_elements(deep_nested)}") # 输出:6

二、特殊 “数组” 类型的长度获取

如果你口中的 “数组” 是指 Python 的第三方库(如 numpy)的数组(numpy.ndarray),len()仅返回第一维度的长度,需用专属方法:

python

# 先安装numpy:pip install numpy import numpy as np # numpy数组 np_array = np.array([[1,2,3], [4,5,6]]) # len()仅返回第一维度长度(2行) print(f"len()结果:{len(np_array)}") # 输出:2 # 获取完整形状(行数、列数):shape(返回元组) print(f"数组形状:{np_array.shape}") # 输出:(2, 3) # 获取总元素数:size print(f"总元素数:{np_array.size}") # 输出:6

三、常见注意事项

  1. 类型校验len()仅适用于可迭代对象(列表、字符串、元组等),对数字、None、布尔值等非可迭代对象使用会抛出TypeError,需提前校验:

    python

    # 错误示例:len(123) → 报错 TypeError: object of type 'int' has no len() # 安全写法 def safe_get_length(obj): try: return len(obj) except TypeError: print(f"错误:{obj} 不是可迭代对象,无长度属性") return None print(safe_get_length(123)) # 输出:错误:123 不是可迭代对象,无长度属性 → None print(safe_get_length([1,2])) # 输出:2
  2. 效率优势len()是 Python 内置的优化函数,直接读取列表的长度属性,比手动遍历计数(如count = 0; for i in lst: count +=1)快得多,无需自己实现计数逻辑。

总结

  1. Python 普通列表(List)的长度优先使用内置函数len(列表名),这是标准、高效的方式;
  2. len()对嵌套列表仅统计外层元素数,如需总元素数需手动遍历 / 递归;
  3. numpy 数组(ndarray)需用shape(维度)或size(总元素数),而非单纯依赖len()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 23:10:32

运维转行做什么好?零基础入门到精通,收藏这篇就够了

运维工程师转行网络安全是职业发展路径中比较常见的一种转行,这种转行通常基于以下几个原因和优势: **1.技能相关性:**运维工程师通常负责维护和管理企业的IT基础设施,包括服务器、网络和存储系统。这些工作内容与网络安全领域有…

作者头像 李华
网站建设 2026/5/12 20:35:48

XML 编码:深入解析与实际应用

XML 编码:深入解析与实际应用 引言 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。它被广泛应用于互联网、企业内部系统以及移动应用中。本文将深入解析XML编码的原理、规范以及在实际应用中的优势。 一、XML编码概述 1.1 XML的起源与发展 XML最早由W3C(万…

作者头像 李华
网站建设 2026/5/12 20:36:20

【Python基础】Python字符串操作全攻略:新手入门必备指南

目录 Python字符串操作全攻略:新手入门必备指南1. 引言:什么是字符串?2. 前置知识3. 字符串的创建与访问3.1 创建字符串3.2 访问字符串元素:索引和切片3.3 字符串的不可变性 4. 常用字符串操作方法4.1 获取字符串长度:…

作者头像 李华
网站建设 2026/5/12 20:36:35

全网十大降AI工具大比拼:知网、维普、万方实测数据公开

家人们,现在学校查得是真严,不仅重复率,还得降ai率,学校规定必须得20%以下... 折腾了半个月,终于把市面上各类方法试了个遍,坑踩了不少,智商税也交了。今天这就把这份十大降AI工具合集掏心窝子…

作者头像 李华
网站建设 2026/5/12 20:36:31

高效过审必备:盘点十大适合中国大学生的降AI工具

家人们,现在学校查得是真严,不仅重复率,还得降ai率,学校规定必须得20%以下... 折腾了半个月,终于把市面上各类方法试了个遍,坑踩了不少,智商税也交了。今天这就把这份十大降AI工具合集掏心窝子…

作者头像 李华
网站建设 2026/5/12 20:35:24

django 爬虫可视化基于深度学习的个性化携程美食数据推荐系统_d7fq1jtw

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 django 爬虫可视化基于深度学习的个性化携程美食数据推荐系统…

作者头像 李华