我正在使用yield
来处理列表的每个元素。但是,如果元组只有一个字符串元素,yield
将返回字符串的字符,而不是整个字符串:
self.commands = ("command1")
...
for command in self.commands:
yield command # returns 'c' not 'command1'
我该如何解决这个问题?
由于
答案 0 :(得分:6)
只有1个元素的元组应为written with a trailing comma。
self.commands = ("command1",)
答案 1 :(得分:0)
self.commands = ["command1"]
你从未告诉循环你有一个列表,所以它将字符串视为序列。
编辑:或者您可以按照建议修改元组...我假设您要使用列表而不是元组。