Итак, просто глядя на этот код, вы отправили именно то, что хотите? В частности, если вы передаете список, который выглядит следующим образом:
[1, 2, 3]
Тогда я не думаю, что вы хотите попробовать извлечь это так:
for key, text in key_text_pairs
Вы можете извлечь список отдельных целых чисел в пару значений, таких как ключ / текст.
Если я запускаю этот код в том виде, в каком вы его разместили, я получаю трассировку стека:
Traceback (most recent call last):
File "test.py", line 6, in <module>
x = SomeClass([1, 2, 3])
File "test.py", line 3, in __init__
for key, text in key_text_pairs:
TypeError: 'int' object is not iterable
Вам либо нужно сделать что-то вроде этого (извлечь одно значение за раз):
class SomeClass(object):
def __init__(self, key_text_pairs = None):
for key in key_text_pairs:
....
x = SomeClass([1, 2, 3])
Или ваш исходный список необходимо изменить, чтобы он содержал пары значений, если вы собираетесь оставить этот код таким же:
x = SomeClass([('a',1),('b',2),('c',3)])