标签: iteration

Python使用枚举内部列表理解

让我们假设我有一个这样的列表:

mylist = ["a","b","c","d"]
Run Code Online (Sandbox Code Playgroud)

要获得打印的值及其索引,我可以enumerate像这样使用Python的函数

>>> for i,j in enumerate(mylist):
...     print i,j
...
0 a
1 b
2 c
3 d
>>>
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试在里面使用它时,list comprehension它给了我这个错误

>>> [i,j for i,j in enumerate(mylist)]
  File "<stdin>", line 1
    [i,j for i,j in enumerate(mylist)]
           ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:在列表理解中使用枚举的正确方法是什么?

python iteration list-comprehension list

116
推荐指数
6
解决办法
23万
查看次数

使用jQuery迭代JavaScript对象的属性

是否有jQuery方法对对象的成员执行迭代,例如:

    for (var member in obj) {
        ...
    }
Run Code Online (Sandbox Code Playgroud)

我只是不喜欢这个for从我可爱的jQuery符号中伸出来!

javascript iteration jquery for-loop

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

迭代时从HashSet中删除元素

因此,如果我在迭代时尝试从Java HashSet中删除元素,我会得到一个ConcurrentModificationException.从HashSet中删除元素子集的最佳方法是什么,如下例所示?

Set<Integer> set = new HashSet<Integer>();

for(int i = 0; i < 10; i++)
    set.add(i);

// Throws ConcurrentModificationException
for(Integer element : set)
    if(element % 2 == 0)
        set.remove(element);
Run Code Online (Sandbox Code Playgroud)

这是一个解决方案,但我认为它不是很优雅:

Set<Integer> set = new HashSet<Integer>();
Collection<Integer> removeCandidates = new LinkedList<Integer>();

for(int i = 0; i < 10; i++)
    set.add(i);

for(Integer element : set)
    if(element % 2 == 0)
        removeCandidates.add(element);

set.removeAll(removeCandidates);
Run Code Online (Sandbox Code Playgroud)

谢谢!

java iteration hashmap hashset

115
推荐指数
6
解决办法
12万
查看次数

C#通过枚举迭代?(索引System.Array)

我有以下代码:

// Obtain the string names of all the elements within myEnum 
String[] names = Enum.GetNames( typeof( myEnum ) );

// Obtain the values of all the elements within myEnum 
Array values = Enum.GetValues( typeof( myEnum ) );

// Print the names and values to file
for ( int i = 0; i < names.Length; i++ )
{
    print( names[i], values[i] ); 
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法索引值.有更简单的方法吗?

或者我完全错过了什么!

c# iteration enums system.array

109
推荐指数
5
解决办法
12万
查看次数

Python中"完全没有EOF"的完美对应点是什么?

要读取一些文本文件,在C或Pascal中,我总是使用以下代码段来读取数据,直到EOF:

while not eof do begin
  readline(a);
  do_something;
end;
Run Code Online (Sandbox Code Playgroud)

因此,我想知道如何在Python中简单快速地完成这项工作?

python iteration file eof

104
推荐指数
5
解决办法
27万
查看次数

迭代Perl哈希键的最安全的方法是什么?

如果我有一堆(键,值)对的Perl哈希,迭代所有键的首选方法是什么?我听说使用each可能会以某种方式产生意想不到的副作用.那么,这是真的,并且是以下两种方法中最好的方法之一,还是有更好的方法?

# Method 1
while (my ($key, $value) = each(%hash)) {
    # Something
}

# Method 2
foreach my $key (keys(%hash)) {
    # Something
}
Run Code Online (Sandbox Code Playgroud)

iteration perl hash each

102
推荐指数
5
解决办法
11万
查看次数

有没有理由我们不能在ruby中反复"反向范围"?

我尝试使用Range并向后迭代each:

(4..0).each do |i|
  puts i
end
==> 4..0
Run Code Online (Sandbox Code Playgroud)

迭代通过0..4写入数字.在另一个范围r = 4..0似乎没问题r.first == 4,r.last == 0.

我觉得上面的结构不能产生预期的结果似乎很奇怪.这是什么原因?这种行为合理的情况是什么?

ruby iteration range

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

递归与迭代

说到处recursion都使用for循环是否正确?如果递归通常较慢,那么将其用于循环迭代的技术原因是什么?

如果始终可以将递归转换为for循环,那么可以采用经验法则吗?

iteration algorithm recursion

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

迭代Perl数组的最佳方法

迭代Perl数组的哪个是最佳实现(在速度和内存使用方面)?有没有更好的方法?(@Array不需要保留).

实施1

foreach (@Array)
{
      SubRoutine($_);
}
Run Code Online (Sandbox Code Playgroud)

实施2

while($Element=shift(@Array))
{
      SubRoutine($Element);
}
Run Code Online (Sandbox Code Playgroud)

实施3

while(scalar(@Array) !=0)
{
      $Element=shift(@Array);
      SubRoutine($Element);
}
Run Code Online (Sandbox Code Playgroud)

实施4

for my $i (0 .. $#Array)
{
      SubRoutine($Array[$i]);
}
Run Code Online (Sandbox Code Playgroud)

实施5

map { SubRoutine($_) } @Array ;
Run Code Online (Sandbox Code Playgroud)

arrays iteration perl

93
推荐指数
2
解决办法
22万
查看次数

你如何迭代std :: tuple的元素?

如何迭代元组(使用C++ 11)?我尝试了以下方法:

for(int i=0; i<std::tuple_size<T...>::value; ++i) 
  std::get<i>(my_tuple).do_sth();
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

错误1:抱歉,未实现:无法将"Listener ..."扩展为固定长度的参数列表.
错误2:我不能出现在常量表达式中.

那么,我如何正确迭代元组的元素?

c++ iteration template-meta-programming c++11 stdtuple

92
推荐指数
12
解决办法
6万
查看次数