使用列表推导式时,新列表的顺序是否有任何保证?作为一个人为的例子,列表理解的定义是否保证了以下行为:
>> 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
具体来说,这是我感兴趣的顺序。
最佳答案
是的,列表推导保留了原始迭代的顺序(如果有的话)。 如果原始可迭代对象是有序的(列表、元组、文件等),那么这就是您在结果中得到的顺序。如果您的可迭代对象是无序的(set、dict 等),则无法保证项目的顺序。
关于python - 来自列表理解的结果顺序是否得到保证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1286167/