Python: Как Вы вставляете в список путем разрезания?

Я был проинструктирован для предотвращения этого в программе Python, но откровенно я понятия не имею, как это даже возможно. Кто-то может дать пример того, как можно нарезать список и вставить что-то в него для создания его больше?Спасибо

33
задан Sam 1 June 2010 в 07:12
поделиться

2 ответа

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

a [: 0] - это «фрагмент списка a , начинающийся перед любыми элементами и заканчивающийся перед индексом 0», который изначально является пустым фрагментом (поскольку в исходном файле нет элементов список перед индексом 0). Если вы установите непустой список, это расширит исходный список этими элементами. Вы также можете сделать то же самое в любом другом месте списка, указав срез с нулевой шириной (или срез с ненулевой шириной, если вы хотите также заменить существующие элементы):

>>> a[1:1] = [6,7]
>>> a
[4, 6, 7, 1, 2, 3]
61
ответ дан 27 November 2019 в 18:13
поделиться

Чтобы этого не произошло, вы можете создать подкласс встроенного списка, а затем переопределить эти методы, подробности см. здесь

0
ответ дан 27 November 2019 в 18:13
поделиться
Другие вопросы по тегам:

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