Как разделить один элемент списка и поддерживать порядок в списке?

У меня есть список:

ll=['the big grey fox','want to chase a squirell', 'because they are friends']

Я хочу разделить второй элемент ll[1] на "want to chase" и " a squirell".

Я хочу в итоге:

['the big grey fox','want to chase', ' a squirell', 'because they are friends']

Обратите внимание, что первый элемент необходимо всегда разбивать так, чтобы последние 10 символов были новым элементом списка, сразу после первых n-10 символов предыдущего элемента, чтобы порядок объединенного текста не менялся.

В настоящее время я использую:

ll[:1],ll[1][:len(ll[1])-10], ll[1][-10:],ll[2:]

но есть ли более красивый способ сделать это?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать:

ll[1:2] = ll[1][:-10], ll[1][-10:] 

заменить второй элемент разделенной парой.

Примечание: если вам нужен точный результат, как в вашем вопросе, вам нужно разделить его по индексу -11.

Sidenote2: ll[1][:len(ll[1])-10] эквивалентно ll[1][:-10]

Вы также можете написать ll[1:2] = (y:=ll[1])[:-10], y[-10:], если вам так удобнее. (Вероятно, нет; это пример, где, я думаю, что-то вроде ll[1:2] = let y = ll[1] in y[:-10], y[-10:] сработало бы лучше.)

chepner 12.07.2024 15:57

@SuramuthuR 1. Да, это моя первая «заметка». 2. Это приведет к удалению пространства, которое, исходя из примера в вопросе, ОП хочет сохранить.

Yevhen Kuzmovych 12.07.2024 23:12

Другие вопросы по теме