Я использую yield
для обработки каждого элемента списка. Однако, если набор имеется только один строковый элемент, yield
возвращающих символы строки вместо целой строки:Python yield возвращает символы вместо строки из одноэлементного кортежа
self.commands = ("command1")
...
for command in self.commands:
yield command # returns 'c' not 'command1'
каким образом можно исправить?
Благодаря
Это не кортеж. Что заставляет вас думать, что 'self.commands' является кортежем? Какой учебник вы используете? –
Я думал, что круглые скобки обозначены кортежем. читал diveintopython, но, возможно, неправильно прочитал его. – timmy
http://diveintopython.org/getting_to_know_python/tuples.html - «Кортеж определяется так же, как и список, за исключением того, что весь набор элементов заключен в круглые скобки вместо квадратных скобок». – timmy