Подтвердить что ты не робот

Гарантирован ли порядок результатов, полученных из понимания списка?

При использовании понимания списка, порядок нового списка гарантирован каким-либо образом? В качестве надуманного примера следует следующее поведение, гарантируемое определением понимания списка:

>> a = [x for x in [1,2,3]]
>> a
[1, 2, 3]

В равной степени гарантируется следующее равенство:

>> lroot = [1, 2, 3]
>> la = [x for x in lroot]
>> lb = []
>> for x in lroot:
     lb.append(x)
>> lb == la
True

В частности, это упорядочение, которое меня интересует здесь.

4b9b3361

Ответ 1

Да, понимание списка сохраняет порядок оригинальной итерации (если таковой имеется). Если исходный итерируемый упорядочен (список, кортеж, файл и т.д.), То порядок, который вы получите в результате. Если ваш итерируемый неупорядоченный (set, dict и т.д.), Нет никаких гарантий относительно порядка элементов.

Ответ 2

Да, список - это последовательность. Порядок последовательности является значительным.