В приведенном ниже примере я ожидал бы, что все элементы будут кортежами, почему кортеж преобразован в строку, когда он содержит только одну строку?
>>> a = [('a'), ('b'), ('c', 'd')]
>>> a
['a', 'b', ('c', 'd')]
>>>
>>> for elem in a:
... print type(elem)
...
<type 'str'>
<type 'str'>
<type 'tuple'>