【发布时间】:2010-08-18 10:55:11
【问题描述】:
我正在使用yield 来处理列表的每个元素。但是,如果元组只有一个字符串元素,yield 返回字符串的字符,而不是整个字符串:
self.commands = ("command1")
...
for command in self.commands:
yield command # returns 'c' not 'command1'
我该如何解决这个问题?
谢谢
【问题讨论】:
-
那不是元组。是什么让您认为
self.commands是一个元组?你用的是什么教程? -
我认为圆括号表示一个元组。正在阅读diveintopython,但可能读错了。
-
diveintopython.org/getting_to_know_python/tuples.html - "元组的定义方式与列表相同,只是整个元素集都用括号而不是方括号括起来。"
-
@timmy:括号(圆括号)仅表示分组表达式,例如
(1+2)*3。您不需要在元组周围加上括号,例如x = a,b等价于x = (a,b)。 -
@timmy:好的开始,请继续阅读并引用下一节。