python - 如何编写枚举循环
问题描述
我想知道是否可以运行枚举循环,如下所示
int_term = [scipy.quad(t_x,x0,i)[0] for i in enumerate(x_vals)]
还是我们必须这样写
for i in enumerate(x_vals)
解决方案
希望这可以澄清 enumerate 的确切作用:
>>> list(enumerate('abc'))
[(0, 'a'), (1, 'b'), (2, 'c')]
它只是将您的列表变成一对列表,其中您的每个元素都与索引连接,即a
0、1b
和c
2。
这并不完全正确,因为它是一个迭代器而不是一个实际的列表——所以当你包装另一个迭代器时它会懒惰地为你提供值。
因此,循环它与任何其他列表相同,但通常以以下方式完成:
for i, x in enumerate(xs)
你仍然可以使用:
for i in enumerate(xs)
但只要知道 i 将是一个带有一些 int 的元组,以及来自xs
.
推荐阅读
- python - 绘制日期时间数据框会导致错误视图限制最小值 -36495.50013946759 小于 1
- c# - Visual Studio 跳转到黄色箭头(调试指针)
- python - 影响编码、解码和打印的 python 设置列表是什么?
- r - http请求发布带有标头的用户名和密码以在R中获取身份验证/密钥
- python - 在 ubuntu 18.04 上带有 Mod_WSGI 的 Django,带有 Apache2 媒体权限被拒绝/
- visual-studio-code - 用于 HTML、CSS 的包快速参考
- php - Telegram Bot 中的一次性键盘可能无法正常工作
- swift - 来自 youtube 的数据未使用委托传递
- android - 动态添加的 RadioButtons 不监听 onCheckChangedListener()
- java - 在插入行时动态增加 jtable 的高度