2006-10-30から1日間の記事一覧

シーケンスの一部をシーケンスのコピーを作らずにビルトイン関数に渡す方法(続き)

# -*- coding: utf-8 -*- class Slicer(): def __init__(self, seq, st, ed): self.seq = seq self.st = st self.ed = ed def __getitem__(self, idx): return self.seq[self.st + idx] def __setslice__(self, start, end, sub): self.seq[self.st:self.ed]…

シーケンスの一部をシーケンスのコピーを作らずにビルトイン関数に渡す方法

まだ自己解決していないが、問題提起だけ再度まとめておく。リストや文字列などのシーケンスの一部をビルトイン関数(やビルトインクラスのメソッド)、例えば、reversed()やcmp()などの引数やオブジェクトとして使用する場合、新たなインスタンスを作らないと…