python - 迭代Python列表: order of iteration

标签 python list loops scipy

迭代列表时,顺序是从第零个元素到最后一个元素。但是对于scipy的chebyt函数的返回值,我不清楚迭代是如何进行的。考虑以下代码:

from scipy.special import chebyt
import numpy as np

ChebyOrder = 5
Coeffs = chebyt(ChebyOrder)

print 'Chebyshev polynomial is: '+repr(Coeffs)

Chebyshev polynomial is: poly1d([  1.60000000e+01,   5.32907052e-15,  -2.00000000e+01,
    -5.12827628e-15,   5.00000000e+00,   3.71174867e-16])

但是迭代索引给出:

L = len(Coeffs)

print '(1) Iterating over index: '
    for i in range(L+1):
    print Coeffs[i]

(1) Iterating over index: 
3.71174867001e-16
5.0
-5.12827627586e-15
-20.0
5.3290705182e-15
16.0

而迭代列表给出:

print '(2) Iterating over list'
for c in Coeffs:
    print c

(2) Iterating over list
16.0
5.3290705182e-15
-20.0
-5.12827627586e-15
5.0
3.71174867001e-16

从切比雪夫多项式的打印或迭代列表来看,第零个元素似乎是 16(x^4 的系数),而通过迭代系数索引,第零个元素似乎是 0(x^0 的系数) )。有人能解释一下吗?

最佳答案

Coeffs[i] 是多项式中的 i 次幂的系数(参见 documentation )。

如果您想按照 repr() 显示的顺序进行迭代,请迭代 Coeffs.c

关于python - 迭代Python列表: order of iteration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701111/

相关文章:

python - 如何从 Airflow 传感器中提取 xcom 值?

python - 为什么使用 apt.Cache 而不是 apt.cache.Cache() 创建对象

python - 使用列表理解分解此列表

java - 使用字符串内容为列表命名

python - SQLAlchemy监听多对多关系中的属性变化并更改initiator的其他属性

python - 使用数据生成器时,Keras 自定义指标 self.validation_data 为 none

list - 生成组合

java 使用 readline 嵌套 while 循环

javascript - 循环中的变量

python - 提高 Python 嵌套 for 循环的性能