繁体   English   中英

len()和count()之间有什么区别?

[英]What is the difference between len() and count()?

在下面的代码中,无论是使用len还是count ,我都得到相同的结果:

fn main() {
    let vector = [0, 1, 2];
    assert_eq!(vector.iter().count(), vector.iter().len());
}

len似乎更通用,因为我也可以这样做:

assert_eq!(vector.len(), 3);

那么,两者之间有什么区别...为什么要使用一个而不是另一个?

vector.len()

返回向量中的元素数。

iter.len()

返回迭代器的确切长度。

iter.count()

计算此迭代器中的元素数。

因此,当它们返回相同的值时, count实际上会计算元素。 请注意, len仅适用于ExactSizeIterator; 因此,如果该值是惰性检索的,则可能无法获得总长度,您需要对其进行显式计数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM