Backticks (`
) используются для определения шаблонных литералов.
Особенности:
Примечание: мы можем легко использовать одинарные кавычки ('
) и двойные кавычки ("
) внутри обратных шагов (`
) .
Пример:
var nameStr = `I'm "Rohit" Jindal`;
Чтобы интерполировать переменные или выражение, мы можем использовать обозначение ${expression}
для этого.
var name = 'Rohit Jindal';
var text = `My name is ${name}`;
console.log(text); // My name is Rohit Jindal
Multi-line Строки означают, что вам больше не нужно использовать \n
для новых строк.
Пример:
const name = 'Rohit';
console.log(`Hello ${name}!
How are you?`);
Выход:
Hello Rohit!
How are you?
Это фактически удаляет содержимое из списка, но не заменяет старую метку новым пустым списком:
del lst[:]
Вот пример:
lst1 = [1, 2, 3]
lst2 = lst1
del lst1[:]
print(lst2)
Для полноты назначение среза имеет такой же эффект:
lst[:] = []
Его также можно использовать для сокращения части списка при одновременном замене части (но это не из
Обратите внимание, что выполнение lst = []
не пустет список, просто создает новый объект и связывает его с переменной lst
, но старый список будет по-прежнему иметь одинаковый элементы и эффект будут очевидны, если у него были другие переменные привязки.
Вы можете попробовать:
alist[:] = []
Это означает: объединение в списке []
(0 элементов) в месте [:]
(все индексы от начала до конца)
[:] - это оператор среза. См. этот вопрос для получения дополнительной информации.
alist
с другим списком, который оказывается пустым. Если кто-то еще ссылался на исходный список, то он остается как есть (т. Е. Содержит все, что было в нем для начала)
– Adam Batkin
13 February 2017 в 04:56
получается, что с python 2.5.2 del l[:]
немного медленнее, чем l[:] = []
на 1.1 мкс.
$ python -mtimeit "l=list(range(1000))" "b=l[:];del b[:]"
10000 loops, best of 3: 29.8 usec per loop
$ python -mtimeit "l=list(range(1000))" "b=l[:];b[:] = []"
10000 loops, best of 3: 28.7 usec per loop
$ python -V
Python 2.5.2
.clear()
, del b[:]
и b[:]=[]
все работают одинаково (b[:]=[]
немного медленнее.
– Conchylicultor
13 March 2017 в 02:13
Еще один простой код, который вы можете использовать (в зависимости от вашей ситуации):
index=len(list)-1
while index>=0:
del list[index]
index-=1
Вам нужно начинать индексировать по длине списка и идти назад против индекса на 0, вперед, потому что это будет закончите с индексом, равным длине списка, при этом он будет разрезан только наполовину.
Также убедитесь, что строка while имеет знак «больше или равно». Опуская это, вы оставите список с остатком [0].
Если у вас есть Python 3.3 или выше, вы можете использовать метод clear()
list
, который параллелен clear()
из dict
, set
, deque
и другие изменяемые типы контейнеров:
alist.clear() # removes all items from alist (equivalent to del alist[:])
Как и на связанной странице, это также может быть достигнуто с помощью alist *= 0
.
list = []
сбрасывает list
в пустой список.
Обратите внимание, что вы вообще не должны хранить теневые зарезервированные имена функций, такие как list
, который является конструктором для объекта списка - вы могли бы использовать, например, lst
или list_
, например.
list
. Если вы ожидали, что функция изменит переданный список (например), это не будет делать то, что вы хотите.
– Adam Batkin
9 September 2009 в 17:12
lst *= 0
имеет тот же эффект, что и
lst[:] = []
. Это немного проще и, возможно, легче запомнить. Кроме того, нечего сказать
Эффективность, похоже, примерно такая же
0
, будет иметь такой же эффект. Это довольно аккуратный трюк, хотя, я немного грустен, что он не получил большого внимания.
– Peter Varo
24 May 2018 в 09:54