gpt4 book ai didi

python - arr.__len__() 是在 Python 中获取数组长度的首选方法吗?

转载 作者:IT老高 更新时间:2023-10-28 11:59:47 27 4
gpt4 key购买 nike

Python ,下面是获取元素数量的唯一方法吗?

arr.__len__()

如果是这样,为什么会出现奇怪的语法?

最佳答案

my_list = [1,2,3,4,5]
len(my_list)
# 5

元组也是如此:

my_tuple = (1,2,3,4,5)
len(my_tuple)
# 5

还有字符串,它们实际上只是字符数组:

my_string = 'hello world'
len(my_string)
# 11

它是 intentionally done this way这样列表、元组和其他容器类型或可迭代对象并不都需要显式实现公共(public) .length() 方法,而只需检查 len()任何实现“魔术”__len__() 方法的东西。

当然,这似乎是多余的,但长度检查实现可能会有很大差异,即使在同一种语言中也是如此。一种集合类型使用 .length() 方法而另一种类型使用 .length 属性,而另一种使用 .count()< 的情况并不少见。拥有一个语言级别的关键字统一了所有这些类型的入口点。因此,即使您可能不认为是元素列表的对象仍然可以进行长度检查。这包括字符串、队列、树等。

len() 的函数性质也很适合函数式编程。

lengths = map(len, list_of_containers)

关于python - arr.__len__() 是在 Python 中获取数组长度的首选方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/518021/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com