return self.len
def __getitem__(self, index):
+ if isinstance(index, slice):
+ return [self.proto._pieces(i) for i in range(self.len)][index.start:index.stop:index.step]
+ if index < 0:
+ index = index + self.len
if index < 0 or index >= self.len:
raise IndexError('piece index is out of range')
return self.proto._pieces(index)
return self.len
def __getitem__(self, index):
+ if isinstance(index, slice):
+ return [self.proto._nbests(i) for i in range(self.len)][index.start:index.stop:index.step]
+ if index < 0:
+ index = index + self.len
if index < 0 or index >= self.len:
raise IndexError('nbests index is out of range')
return self.proto._nbests(index)
return self.len
def __getitem__(self, index):
+ if isinstance(index, slice):
+ return [self.proto._pieces(i) for i in range(self.len)][index.start:index.stop:index.step]
+ if index < 0:
+ index = index + self.len
if index < 0 or index >= self.len:
raise IndexError('piece index is out of range')
return self.proto._pieces(index)
return self.len
def __getitem__(self, index):
+ if isinstance(index, slice):
+ return [self.proto._nbests(i) for i in range(self.len)][index.start:index.stop:index.step]
+ if index < 0:
+ index = index + self.len
if index < 0 or index >= self.len:
raise IndexError('nbests index is out of range')
return self.proto._nbests(index)
self.assertEqual(
self.sp_.Decode([x.id for x in s3.nbests[i].pieces]), text)
+ # slice
+ self.assertEqual(s1.pieces[::-1], list(reversed(s1.pieces)))
+ self.assertEqual(s3.nbests[::-1], list(reversed(s3.nbests)))
+
# Japanese offset
s1 = self.jasp_.EncodeAsImmutableProto('吾輩は猫である。Hello world. ABC 123')
surfaces1 = [s1.text[x.begin:x.end] for x in s1.pieces]