Этот вопрос просто из любопытства.Предположим, у меня есть список x
x = ['a', 'b', 'c', 'd', 'e']
Когда я перечисляю этот список и делаю намеренную ошибку следующим образом:
for i, x in enumerate(x):
print i + " : " + x
#Should use str(i) and str(x)
, как и ожидалось, эта ошибка возникает:
Traceback (most recent call last):
File "<pyshell#26>", line 2, in <module>
print i + " : " + x
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Однако x
список преобразуется в одну буквенную строку 'a'
.
print x
'a'
Я пробовал то же самое с числовым списком x = [1, 2, 3, 4]
и x
был преобразован в целое число 1
.
Почему это произошло?и почему этого не произошло, когда я использую str (i) и str (x)?