标签: enumerate

如何枚举String类型的枚举?

enum Suit: String {
    case spades = "?"
    case hearts = "?"
    case diamonds = "?"
    case clubs = "?"
}
Run Code Online (Sandbox Code Playgroud)

例如,我该怎么做:

for suit in Suit {
    // do something with suit
    print(suit.rawValue)
}
Run Code Online (Sandbox Code Playgroud)

结果示例:

?
?
?
?
Run Code Online (Sandbox Code Playgroud)

string enums enumerate swift

510
推荐指数
17
解决办法
22万
查看次数

枚举是什么意思?

我在Python中使用tkinter并遇到以下代码:

__PRE__

我想知道是否有人能解释在这种情况下枚举的含义是什么?

python enumerate

311
推荐指数
5
解决办法
37万
查看次数

如何使用自定义类属性枚举所有类?

问题基于MSDN示例.

假设我们在独立桌面应用程序中有一些带有HelpAttribute的C#类.是否可以枚举具有此类属性的所有类?以这种方式识别课程是否有意义?自定义属性将用于列出可能的菜单选项,选择项将带到此类的屏幕实例.课程/项目的数量将缓慢增长,但我认为这样我们可以避免在其他地方列举所有课程/项目.

c# attributes class enumerate custom-attributes

144
推荐指数
5
解决办法
8万
查看次数

Objective-C:逐行读取文件

在Objective-C中处理大型文本文件的适当方法是什么?假设我需要分别读取每一行,并希望将每一行视为NSString.这样做最有效的方法是什么?

一种解决方案是使用NSString方法:

+ (id)stringWithContentsOfFile:(NSString *)path 
      encoding:(NSStringEncoding)enc 
      error:(NSError **)error 
Run Code Online (Sandbox Code Playgroud)

然后使用换行符分隔符拆分行,然后遍历数组中的元素.但是,这似乎效率很低.有没有简单的方法将文件视为一个流,枚举每一行,而不是一次只读取它?有点像Java的java.io.BufferedReader.

file-io objective-c enumerate nsstring nsstream

138
推荐指数
8
解决办法
15万
查看次数

枚举() - 用Python生成一个生成器

我想知道当我将生成器函数的结果传递给python的enumerate()时会发生什么.例:

def veryBigHello():
    i = 0
    while i < 10000000:
        i += 1
        yield "hello"

numbered = enumerate(veryBigHello())
for i, word in numbered:
    print i, word
Run Code Online (Sandbox Code Playgroud)

枚举是否是懒惰地迭代,还是将所有内容都插入第一个?我99.999%肯定它很懒,所以我可以把它当作生成器功能完全相同,还是我需要注意什么?

python iterator generator enumerate

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

在R中压缩或枚举?

这些Python列表推导的R等价物是什么:

[(i,j) for i,j in zip(index, Values)]
[(i,j) for i,j in enumerate(Values)]
[(i,j) for i,j in enumerate(range(10,20))]   %MWE, indexing or enumerating to 
                                            %keep up with the index, there may 
                                            %be some parameter to look this up
Run Code Online (Sandbox Code Playgroud)

输出示例

>>> [(i,j) for i,j in enumerate(range(10,20))]
[(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15), (6, 16), (7, 17), (8, 18), (9, 19)]
Run Code Online (Sandbox Code Playgroud)

我已经用R中的一些技巧解决了这个问题,但不记得了,第一个想法是itertools -pkg,但我希望找到一种更惯用的做事方式.

indexing r enumerate

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

如何枚举()Python中的元组列表?

我有一些像这样的代码:

letters = [('a', 'A'), ('b', 'B')]
i = 0
for (lowercase, uppercase) in letters:
    print "Letter #%d is %s/%s" % (i, lowercase, uppercase)
    i += 1
Run Code Online (Sandbox Code Playgroud)

我被告知有一个enumerate()函数可以为我处理"i"变量:

for i, l in enumerate(['a', 'b', 'c']):
    print "%d: %s" % (i, l)
Run Code Online (Sandbox Code Playgroud)

但是,我无法弄清楚如何将两者结合起来:当有问题的列表是由元组组成时,如何使用枚举?我必须这样做吗?

letters = [('a', 'A'), ('b', 'B')]
for i, tuple in enumerate(letters):
    (lowercase, uppercase) = tuple
    print "Letter #%d is %s/%s" % (i, lowercase, uppercase)
Run Code Online (Sandbox Code Playgroud)

还是有更优雅的方式?

python list enumerate

44
推荐指数
1
解决办法
2万
查看次数

如何限制Python中循环的迭代?

假设我有一个项目列表,我想迭代它的前几个:

items = list(range(10)) # I mean this to represent any kind of iterable.
limit = 5
Run Code Online (Sandbox Code Playgroud)

天真的实施

来自其他语言的Python幼稚可能会编写这个完全可用且性能良好(如果是单一的)代码:

index = 0
for item in items: # Python's `for` loop is a for-each.
    print(item)    # or whatever function of that item.
    index += 1
    if index == limit:
        break
Run Code Online (Sandbox Code Playgroud)

更惯用的实施

但Python已经枚举,它很好地包含了大约一半的代码:

for index, item in enumerate(items):
    print(item)
    if index == limit: # There's gotta be a better way.
        break
Run Code Online (Sandbox Code Playgroud)

所以我们要把额外的代码减少一半.但是必须有一个更好的方法.

我们可以近似下面的伪代码行为吗?

如果enumerate采用另一个可选stop参数(例如,它采用这样的start参数enumerate(items, start=1):),我认为这是理想的,但下面不存在(请参阅此处枚举 …

python enumerate

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

enumerate()用于python中的字典

我知道我们enumerate用于迭代列表,但我在字典中尝试过它并没有给出错误.

码:

enumm = {0: 1, 1: 2, 2: 3, 4: 4, 5: 5, 6: 6, 7: 7}

for i, j in enumerate(enumm):
    print(i, j)
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

0 0

1 1

2 2

3 4

4 5

5 6

6 7
Run Code Online (Sandbox Code Playgroud)

有人可以解释输出吗?

python dictionary enumerate python-3.x

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

是否有一个Scala等效的python枚举?

我喜欢这种方便

for i, line in enumerate(open(sys.argv[1])):
  print i, line
Run Code Online (Sandbox Code Playgroud)

在Scala中执行以下操作时

for (line <- Source.fromFile(args(0)).getLines()) {
  println(line)
}
Run Code Online (Sandbox Code Playgroud)

scala enumerate

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