Самый быстрый способ удалить одну запись с середины Массива ()

Ваш код выглядит отлично читаемым. Возможно, вы искали что-то вроде этого (только Python3):

import pathlib

documents = pd.DataFrame(glob.glob('*.txt'), columns = ['files'])
documents['text'] = documents['files'].map(
    lambda fname: fname.startswith('GSE') and pathlib.Path(fname).read_text())
21
задан ketan 30 September 2015 в 11:46
поделиться

4 ответа

Не имейте никаких сравнительных тестов для поддержки этого, но можно было бы предположить, что собственный компонент метод Array.splice будет самым быстрым...

Так, для удаления записи в индексе 5:

array.splice(5, 1);
51
ответ дан 29 November 2019 в 06:14
поделиться

Если Вы не заботитесь о порядке пунктов в массиве (но просто хотите, чтобы он добрался 1 короче), можно скопировать последний elementВ массива к индексу, который будет удален, то поп последний элемент прочь.

array[index] = array[array.length-1];
array.pop();

я предположил бы, что это быстрее, МУДРО ПРОЦЕССОРНЫМ ВРЕМЕНЕМ, если можно сойти с рук переупорядочение массива.

РЕДАКТИРОВАНИЕ: необходимо сравнить для конкретного случая; я недавно сделал это, и это было быстрее, чтобы просто соединить. (По-видимому, потому что Chrome на самом деле не хранит массив как единственный непрерывный буфер.)

25
ответ дан 29 November 2019 в 06:14
поделиться

Array.splice () , "добавляет элементы к и удаляет элементы из массива" :

myArr.splice(indexToRemove, 1); // only removing one index, thus the 1
3
ответ дан 29 November 2019 в 06:14
поделиться

В зависимости от Вашего случая можно рассмотреть использование Словаря вместо Массива, если Вы хотите расположить по приоритетам производительность.

var dict:Dictionary = new Dictionary();

// The following value/key set should be customized so you can 
// get use of them in your specific case.

dict[item1] = item1;
dict[item2] = item2;

...

delete dict[item1];
1
ответ дан 29 November 2019 в 06:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: