Лучший способ состоит в том, чтобы, вероятно, использовать метод .index списка.
Для объектов в списке, можно сделать что-то как:
def __eq__(self, other):
return self.Value == other.Value
с любой специальной обработкой Вас нуждаются.
можно также использовать для/в оператора с, перечисляют (прибытие)
Пример нахождения индекса объекта, который имеет значение> 100.
for index, item in enumerate(arr):
if item > 100:
return index, item
Нет, он не обеспечивает сжатия, но вы можете сжать вывод самостоятельно, используя тип GZipStream
.
Редактировать: Mehrdad имеет замечательный пример этой техники в его ответе на Как сжать экземпляр объекта .net с помощью gzip .
Редактировать 2: Строки могут интернироваться, но это не так » t означает, что каждая строка интернирована . Я бы не стал делать никаких предположений о том, как и почему CLR решает использовать строки, поскольку это может меняться (и изменилось) от версии к версии.