Что означает [:]?

Я анализирую некоторый код Python, и я не знаю, что

pop = population[:]

средства. Это что-то вроде списков массивов в Java или как двумерный массив? Спасибо за помощь.

6 ответов


это нарезка, и то, что он делает, зависит от типа population. Если population Это список, эта строка создаст копию списка. Для объекта типа tuple или str, он ничего не будет делать (будет делать то же самое без [:]), и для (скажем) массива NumPy он создаст новое представление для тех же данных.


это также может помочь узнать, что срез списка в целом делает копию части списка. Е. Г. population[2:4] вернет список, содержащий население[2] и население[3] (нарезка является исключительной). Оставляя левый и правый индексы, как в population[:] они по умолчанию равны 0 и length (population) соответственно, тем самым выбирая весь список. Следовательно, это распространенная идиома, чтобы сделать копию списка.


хорошо... это действительно зависит от контекста. В конечном счете, он проходит slice


Это slice от начала последовательности до конца, обычно создавая мелкую копию.

(Ну, это больше, чем, но вам пока не нужно беспокоиться.)


Он создает копию списка, а не просто назначает новое имя для уже существующего списка.


[:]
используется для ограничения или нарезки в массиве, hash
например:
[1: 5] для отображения значений от 1 включительно до 5 исключающих i.e 1-4
[начало:конец]

в основном используется в массиве для нарезки, понять скобку принять переменную, которая означает значение или ключ для отображения, и " : "используется для ограничения или нарезать весь массив на пакеты .