python - 来自列表理解的结果顺序是否得到保证?

标签 python list-comprehension

使用列表推导式时,新列表的顺序是否有任何保证?作为一个人为的例子,列表理解的定义是否保证了以下行为:

>> 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/

相关文章:

python - 列表理解中的列表

python - 从列表创建子列表

python - 查找列表的中间

python - 如何使用字符串和整数打印列表理解并仅向字符串添加符号?

python - 列表理解输出

python - 我们可以在列表推导式中使用嵌套 for 循环的幕后原因是什么

pandas - 如何在 Panda Dataframe 中应用列表理解?

python - 让 Pong 中的球在 pygame 中正确反弹

使用字符串作为查询的python mysql问题

Python Boto get_report 类调用?