python中len

我不是码神2024-01-18python15

在Python编程语言中,len是一个内置函数,用于获取对象的长度,它通常用于计算字符串、列表、元组等序列类型的长度,len函数的语法非常简单,只需要将要计算长度的对象作为参数传递给它即可。

(图片来源网络,侵删)

len函数的基本用法

1、计算字符串长度

字符串是Python中最常见的序列类型之一,我们可以通过len函数来计算字符串的长度。

s = "Hello, World!"
length = len(s)
print(length)  # 输出:13

2、计算列表长度

列表是Python中另一个常见的序列类型,我们可以使用len函数来计算列表的长度。

lst = [1, 2, 3, 4, 5]
length = len(lst)
print(length)  # 输出:5

3、计算元组长度

元组与列表类似,也是Python中的序列类型,我们可以使用len函数来计算元组的长度。

tup = (1, 2, 3, 4, 5)
length = len(tup)
print(length)  # 输出:5

len函数的高级用法

1、计算多维列表或元组的长度

对于多维列表或元组,我们可以使用递归的方式来计算其长度。

计算二维列表的长度
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
def get_matrix_length(matrix):
    if isinstance(matrix, list):
        return sum(get_matrix_length(row) for row in matrix)
    else:
        return len(matrix)
length = get_matrix_length(matrix)
print(length)  # 输出:9
计算嵌套元组的长度
nested_tuple = (1, (2, (3, 4), 5), 6)
def get_nested_tuple_length(nested_tuple):
    if isinstance(nested_tuple, tuple):
        return sum(get_nested_tuple_length(item) for item in nested_tuple)
    else:
        return len(nested_tuple) 1
length = get_nested_tuple_length(nested_tuple)
print(length)  # 输出:3

2、计算文件行数

我们可以使用len函数来计算文件中的行数,假设我们有一个名为"example.txt"的文件,内容如下:

Hello, World!
This is a test file.

我们可以使用以下代码来计算文件中的行数:

with open("example.txt", "r") as f:
    lines = f.readlines()
line_count = len(lines) 1  # 减1是因为最后一行是空行(换行符)
print(line_count)  # 输出:2

len函数的注意事项

1、len函数只能用于序列类型,不能用于其他类型的对象,如果尝试对非序列类型的对象使用len函数,Python会抛出TypeError异常。

num = 1234567890
try:
    length = len(num)
except TypeError as e:
    print(e)  # 输出:'int' object is not iterable

2、len函数返回的是序列中元素的个数,而不是序列所占用的字节数,如果需要计算序列所占用的字节数,可以使用sys模块中的getsizeof函数。

import sys
lst = [1, 2, 3, 4, 5]
size = sys.getsizeof(lst) + sum(sys.getsizeof(x) for x in lst) * len(lst) sys.getsizeof(None) * len(lst) sys.getsizeof(list) * len(lst) + sys.getsizeof(tuple) * len(lst) sys.getsizeof(()) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * len(lst) sys.getsizeof((1,)) * len(lst) + sys.getsizeof((1,)) * length sys.getsizeof((1

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。