38

リスト内包表記を使用する場合、新しいリストの順序は何らかの方法で保証されますか?不自然な例として、リスト内包表記の定義によって保証される次の動作は次のとおりです。

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

具体的には、ここで興味のある順序です。

4

3 に答える 3

41

はい、リスト内包は元の反復可能ファイルの順序を保持します(存在する場合)。元のイテラブルが順序付けられている場合(リスト、タプル、ファイルなど)、それが結果に表示される順序です。iterableが順序付けされていない場合(set、dictなど)、アイテムの順序についての保証はありません。

于 2009-08-17T04:40:01.690 に答える
3

はい、リストはシーケンスです。シーケンスの順序は重要です。

于 2009-08-17T04:40:22.783 に答える