python - python 3 中的可迭代对象和列表有什么区别?

标签 python list iterable

在幕后,可迭代不就是列表吗?像 map 这样的包装器有什么用? filter list和其他像他们一样的人? filter 是什么意思?实际上告诉你,除了它的起源?什么时候会(除了在例如列表推导中更短)xlist(x) 更好哪里x是可迭代的吗?

我听说的一件事是保留 mapfilter因为可迭代比将它们用作列表更快。为什么是这样?到底有什么区别可以使迭代速度更快?

最佳答案

iterable 和 list 之间的区别就像花和玫瑰之间的区别。

所有的玫瑰都是花,但并非所有的花都是玫瑰。

所有列表都是可迭代的,但并非所有可迭代都是列表。

iterable

An object capable of returning its members one at a time. Iterables include all sequences type (like list, str, and tuples).

List 是一个可迭代对象,并且具有一些其他更具体的特征要列出。

看看这个:https://docs.python.org/3.5/glossary.html特别是在可迭代部分。

关于python - python 3 中的可迭代对象和列表有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248565/

相关文章:

python - 为什么导入 numpy 函数首先在 Python shell 中起作用,然后在 Python 文件中不起作用?

c# - 如果 C# 满足条件,则将元素插入列表

list - 测绘!!在 haskell

python - 如何将可迭代的内容添加到集合中?

python - 通过命令行将文件添加到 Xcode 项目?在 Xcode 中使用 project.pbxproj 文件?

python - 如何在 python 字典中保持循环以搜索值?

python - 将列表中的所有元素打印到另一个字符串旁边

python - 如何将列表转换为 csv 中的列?

python - python中的文件对象是可迭代的吗

scala - 将 IgniteCursor[T]/Iterable[T] 转换为 Future[Seq[T]]