0

次の 2 つのコード ブロックが異なる出力を返す理由を知る必要があります。私は持っている:

somelist = ['foo', 'bar']
somelist.append('baz')
print somelist

期待どおりに印刷['foo', 'bar', 'baz']されます。でも、

print ['foo', 'bar'].append('baz')

印刷しNoneます。前もって感謝します!

編集:ありがとうございました。append関数とprintコマンドを 1 行のコードで使用する方法はありますか?

4

2 に答える 2

2

.appendリスト上でリストを変更します。リストを変更しているため、Python は関数が返すべき規則を採用しNoneて、関数の目的がその引数 (この場合、メソッドがバインドされているリスト インスタンス バインド) を変更することであることを明示的に明確にします。

于 2013-02-23T02:03:54.677 に答える
2

list.appendはインプレース操作です。つまり、Noneが返されますが、実際のリスト自体が変更されます。

于 2013-02-23T02:04:10.743 に答える