タグ付けされた質問 「augmented-assignment」

8
+ =がリストで予期しない動作をするのはなぜですか?
+=Python の演算子がリストで予期せず動作しているようです。誰がここで何が起こっているのか教えてもらえますか? class foo: bar = [] def __init__(self,x): self.bar += [x] class foo2: bar = [] def __init__(self,x): self.bar = self.bar + [x] f = foo(1) g = foo(2) print f.bar print g.bar f.bar += [3] print f.bar print g.bar f.bar = f.bar + [4] print f.bar print g.bar …

1
拡張代入を使用する組み込みの `sum()`に相当するものはありますか?
次の関数に相当する標準ライブラリ/ numpyがありますか? def augmented_assignment_sum(iterable, start=0): for n in iterable: start += n return start ? 一方でsum(ITERABLE)非常にエレガントで、それが使用する+演算子を代わりに+=した場合にどの、np.ndarrayオブジェクトのパフォーマンスに影響を与える可能性があります。 私は私の機能が同じくらい速いかもしれないことをテストしましたsum()(それと同等の使用+ははるかに遅いです)。それは純粋なPython関数なので、そのパフォーマンスはまだハンディキャップがあると思います。したがって、いくつかの代替策を探しています。 In [49]: ARRAYS = [np.random.random((1000000)) for _ in range(100)] In [50]: def not_augmented_assignment_sum(iterable, start=0): ...: for n in iterable: ...: start = start + n ...: return start ...: In [51]: %timeit not_augmented_assignment_sum(ARRAYS) …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.