Julia 循环在包含值和索引的数组中迭代的简写形式

Julia 循环在包含值和索引的数组中迭代的简写形式,julia,Julia,是否有一种方便/快捷的方法来迭代数组上的for循环,同时获取值和索引 基本选择: i = 1 for file in ["foo.csv", "bar.csv"] ... i += 1 end 编辑:正如Matt B指出的,它简单且索引安全(如果使用命名元组、字典等): 一种选择是: 但请注意,enumerate不一定提供有效的索引,因为它实际上是zip(x,countfrom(1)),并且会在OffsetArrays中中断 另一个是索引安全的,但要求文件为变量: files

是否有一种方便/快捷的方法来迭代数组上的for循环,同时获取值和索引

基本选择:

i = 1
for file in ["foo.csv", "bar.csv"]
    ...
   i += 1
end

编辑:正如Matt B指出的,它简单且索引安全(如果使用命名元组、字典等):


一种选择是:

但请注意,enumerate不一定提供有效的索引,因为它实际上是
zip(x,countfrom(1))
,并且会在
OffsetArray
s中中断

另一个是索引安全的,但要求
文件
为变量:

files = ["foo.csv", "bar.csv"]
for (i, file) in zip(eachindex(files), files)
    ...
end

更容易:!它也适用于字典、命名元组等。
for (i, file) in pairs(["foo.csv", "bar.csv"])
    ...
end
for (i, file) in enumerate(["foo.csv", "bar.csv"])
    ...
end
files = ["foo.csv", "bar.csv"]
for (i, file) in zip(eachindex(files), files)
    ...
end