Невозможно работать с несколькими службами в Android Chrome

Когда вы указываете a в левой части оператора =, вы используете обычное назначение Python, которое меняет имя a в текущем контексте, указывая на новое значение. Это не меняет предыдущее значение, на которое указывает a.

Задав a[0:2] в левой части оператора =, вы говорите Python, что хотите использовать назначение фрагмента. Slice Assignment - специальный синтаксис для списков, в который вы можете вставлять, удалять или заменять содержимое из списка:

Вставка:

>>> a = [1, 2, 3]
>>> a[0:0] = [-3, -2, -1, 0]
>>> a
[-3, -2, -1, 0, 1, 2, 3]

Удаление:

>>> a
[-3, -2, -1, 0, 1, 2, 3]
>>> a[2:4] = []
>>> a
[-3, -2, 1, 2, 3]

Замена:

>>> a
[-3, -2, 1, 2, 3]
>>> a[:] = [1, 2, 3]
>>> a
[1, 2, 3]

Примечание:

Длина среза может отличаться от длины назначенной последовательности, таким образом изменяя длину целевой последовательности, если целевая последовательность позволяет это. - source

blockquote>

Назначение Slice предоставляет аналогичную функцию Tuple Unpacking . Например, a[0:1] = [4, 5] эквивалентно:

# Tuple Unpacking
a[0], a[1] = [4, 5]

С помощью Tuple Unpacking вы можете изменять непоследовательные списки:

>>> a
[4, 5, 3]
>>> a[-1], a[0] = [7, 3]
>>> a
[3, 5, 7]

Однако распаковка кортежей ограничивается заменой , так как вы не можете вставлять или удалять элементы.

До и после всех этих операций a является одним и тем же точным списком. Python просто обеспечивает хороший синтаксический сахар, чтобы изменить список на месте.

0
задан Uy Trieu Vi Tran 17 March 2019 в 20:57
поделиться