希望通过使用结构变量中的每个变量来增加结构的多个数组的数量。谢谢!
# Points array
V=np.array([-1/2, 1/2, 3/2, 5/2, 7/2, 9/2])
# Lagrange Interpolant
D=np.ones_like(V);
# Calculation
for n,i in enumerate(V):
for m,j in enumerate(V):
# This should exist otherwise we divide by zero
if m!=n:
D[n] *= (i-j)
# Invert Array
D=1/D
答案 0 :(得分:1)
只需使用嵌套循环,外部循环在arrayOfExamples
的项目上进行迭代:
for item in arrayOfExamples {
for i in 0...item.partThree {
print(i)
}
}
通过使用KeyPath
,您可以编写一个函数,该函数使用调用者指定的属性对值进行迭代:
func iterateOverKeyPath(array: [Example], keyPath: KeyPath<Example, Int>) {
for item in array {
for i in 0...item[keyPath: keyPath] {
print(i)
}
}
}
// iterate using partThree property
iterateOverKeyPath(array: arrayOfExamples, keyPath: \Example.partThree)
// now do the same for partTwo
iterateOverKeyPath(array: arrayOfExamples, keyPath: \Example.partTwo)
Example
struct
并没有什么特别的,因此我们可以使此泛型适用于任何类型:
func iterateOverKeyPath<T>(array: [T], keyPath: KeyPath<T, Int>) {
for item in array {
for i in 0...item[keyPath: keyPath] {
print(i)
}
}
}