标签: iteration

使用嵌套文件夹迭代文件夹中的文件 - Cocoa

我需要访问文件夹中的每个文件,包括嵌套文件夹中存在的文件.示例文件夹可能如下所示.

animals/
 -k.txt
 -d.jpg
 cat/
   -r.txt
   -z.jpg
   tiger/
      -a.jpg
      -p.pdf
 dog/
   -n.txt
   -f.jpg
 -p.pdf
Run Code Online (Sandbox Code Playgroud)

假设我想在不是文件夹的"动物"中的每个文件上运行一个进程.迭代文件夹"animals"及其所有子文件夹访问每个文件的最佳方法是什么?

谢谢.

directory iteration macos cocoa

41
推荐指数
3
解决办法
4万
查看次数

.NET中的反向排序字典

有什么方法可以通过c#中的SortedDictionary向后(反向)迭代?

或者有没有办法以降序开始定义SortedDictionary?

.net c# iteration reverse dictionary

40
推荐指数
4
解决办法
6万
查看次数

如何从最后一个元素开始遍历数组?(红宝石)

我带来了以下解决方案,但我相信那里必须更好...

array = [ 'first','middle','last']

index = array.length
array.length.times { index -= 1; puts array[index]}
Run Code Online (Sandbox Code Playgroud)

ruby arrays iteration

40
推荐指数
3
解决办法
3万
查看次数

在Rust中,有没有办法迭代枚举的值?

我来自Java背景,我可能有类似的东西enum Direction { NORTH, SOUTH, EAST, WEST},我可以使用增强的for循环依次对每个值做一些事情,如:

for(Direction dir : Direction.values())  {
    //do something with dir
}
Run Code Online (Sandbox Code Playgroud)

我想用Rust枚举做类似的事情.

iteration enums rust

40
推荐指数
5
解决办法
2万
查看次数

如何在C#中迭代可枚举集合中的项目时修改或删除它们

我必须从数据表中删除一些行.我听说在迭代它时改变一个集合是不行的.因此,我不是检查一行是否满足删除要求然后将其标记为已删除的for循环,而应首先遍历数据表并在列表中添加所有行,然后遍历列表并标记删除行.这是什么原因,我有什么替代品(而不是使用我的意思的行列表)?

c# iteration collections

38
推荐指数
4
解决办法
3万
查看次数

如何在PHP中生成多个数组中的所有项目组合

我试图在几个数组中找到所有项目的组合.数组的数量是随机的(可以是2,3,4,5 ......).每个数组中的元素数量也是随机的......

例如,我有3个数组:

$arrayA = array('A1','A2','A3');
$arrayB = array('B1','B2','B3');
$arrayC = array('C1','C2');
Run Code Online (Sandbox Code Playgroud)

我想生成一个3 x 3 x 2 = 18种组合的数组:

  • A1,B1,C1
  • A1,B1,C2
  • A1,B2,C1
  • A1,B2,C2
  • A1,B3,C1
  • A1,B3,C2
  • A2,B1,C1
  • A2,B1,C2 ......

问题是创建一个具有可变数量的源数组的函数...

php arrays iteration combinations

38
推荐指数
6
解决办法
3万
查看次数

.collect与索引

.collect指数吗?我想做这样的事情:

def myList = [
    [position: 0, name: 'Bob'],
    [position: 0, name: 'John'],
    [position: 0, name: 'Alex'],
]

myList.collect { index ->
    it.position = index
}
Run Code Online (Sandbox Code Playgroud)

(即我想设置position一个值,表示列表中的顺序)

iteration collections groovy

38
推荐指数
5
解决办法
2万
查看次数

迭代JsonObject属性

我想JsonObjectGson重复一遍.我的最终目标是获得内部对象ArrayList中所有现有的三位数code整数"unterfeld",但是一旦我可以迭代外部对象的属性,这将是没有问题的.

{
  "something1": {
    "bezeichnung": "something1",
    "unterfeld": [
      {
        "bezeichnung": "bla1",
        "unterregionen": [
        ],
        "code": 111
      },
      {
        "bezeichnung": "bla2",
        "unterregionen": [
        ],
        "code": 222
      }
    ],
    "code": 3
  },
  "something2": {
    "bezeichnung": "something2",
    "unterfeld": [
      {
        "bezeichnung": "bla3",
        "unterregionen": [
        ],
        "code": 333
      }
    ],
    "code": 6
  },
  "something3": {
    "bezeichnung": "something3",
    "unterfeld": [
      {
        "bezeichnung": "bla4",
        "unterregionen": [
        ],
        "code": 444
      },
      {
        "bezeichnung": "bla5",
        "unterregionen": …
Run Code Online (Sandbox Code Playgroud)

java iteration json gson

38
推荐指数
1
解决办法
4万
查看次数

Collat​​z猜想Python - 不正确的输出超过2万亿(仅!)

我在Python3中编写了一个基本脚本来计算Collat​​z猜想.它采用正整数作为输入,并返回步骤的数字,直到序列下降到1.

我的脚本适用于任何小于2万亿的整数输入,但高于此阈值时输出太小.

举个例子,这里有一些输入,我的脚本的输出和实际的正确输出:

Integer Input          Script Output     Correct Output
   989,345,275,647        1,348             1,348 
 1,122,382,791,663        1,356             1,356 
 1,444,338,092,271        1,408             1,408 
 1,899,148,184,679        1,411             1,411 
 2,081,751,768,559          385             1,437 
 2,775,669,024,745          388             1,440 
 3,700,892,032,993          391             1,443 
 3,743,559,068,799          497             1,549 `
Run Code Online (Sandbox Code Playgroud)

正确的输出值基于以下链接:http://www.ericr.nl/wondrous/delrecs.html

对于2万亿以上的输入,我的脚本输出总是比正确的输出少1,052,但我不知道是什么导致了这个.

谁能解释什么是错的,以及如何更新/修复脚本以使其适用于所有输入?我认为Python能够毫无问题地接受任意大数字...

谢谢!

# Python Code for the Collatz Conjecture
# Rules: Take any integer 'n' and assess:
# If integer is even, divide by 2 (n/2)
# If integer is odd, multiply by 3 and add 1 (3n+1)
# …
Run Code Online (Sandbox Code Playgroud)

python iteration algorithm collatz python-3.x

38
推荐指数
1
解决办法
1763
查看次数

在Python中以列表(循环方式)迭代对

问题很简单,我想迭代遍历列表中的每个元素和成对的下一个元素(将最后一个元素包装在第一个元素中).

我想过两种非常规的方式:

def pairs(lst):
    n = len(lst)
    for i in range(n):
        yield lst[i],lst[(i+1)%n]
Run Code Online (Sandbox Code Playgroud)

和:

def pairs(lst):
    return zip(lst,lst[1:]+[lst[:1]])
Run Code Online (Sandbox Code Playgroud)

预期产量:

>>> for i in pairs(range(10)):
    print i

(0, 1)
(1, 2)
(2, 3)
(3, 4)
(4, 5)
(5, 6)
(6, 7)
(7, 8)
(8, 9)
(9, 0)
>>> 
Run Code Online (Sandbox Code Playgroud)

有关更多pythonic方式的任何建议吗?也许有一个我没有听说过的预定义功能?

也是一个更普遍的n折(有三胞胎,四重奏等代替对)版本可能很有趣.

python iteration tuples list

35
推荐指数
4
解决办法
2万
查看次数