Я столкнулся с проблемой Python 3.4.3, и это нигде не упоминается.Список python (zipobject) возвращает пустой контейнер (список)
Позволяет сказать:
a = [1,2,3,4]
и b = [5,6,7,8]
Объединяют эти вертикально: ab = zip(a,b)
в Python 3, ab
сами вернутся:
почтового объекта в (некоторых HexNumber)
Все хорошо здесь, в python 3, чтобы получить каскадный список:
aabb = list(ab)
Теперь Heres вопрос, первый раз, aabb
действительно возвращает реальный список:
[(1, 5), (2, 6), (3, 7), (4, 8)]
второй раз и далее, однако, если вы снова сделать весь процесс list(aabb)
просто вернет пустой контейнер []
, как и list()
.
Он будет работать только после перезапуска оболочки/интерпретатора.
Это нормально или ошибка?
EDIT: Ok, ребята, я не понял, что это было связано с zip
, он КАЗАЛОСЬ постоянным, как ab
вернулся один и тот же гекс значение каждый раз, так что я думал, что это было связано с list(ab)
.
Во всяком случае, выработанные переназначение ab = zip(ab)
Из того, что я понимаю, в ответах и оригинальные ссылки, ab
получает УТИЛИЗИРОВАТЬСЯ когда-то читал.
@vaultah Я не вижу нигде в этом разделе документов, что 'list (list (zip ([1,2,3,4], [5,6,7,8]))) = = [] '. возможно, вы можете объяснить? @DonD, это то, что вы говорите, что получаете? – dbliss
Или http://stackoverflow.com/questions/3940072/exhausted-iterators-what-to-do-about-them – matsjoyce
@vaultah, пожалуйста, уточните, он не говорит, почему он работает только один раз. и почему это было опущено в ближайшее время, когда я опубликовал его. – DonD