Этот пример довольно расплывчатый, но может быть, что-то вроде этого?
items = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
items[3:6] = [''.join(items[3:6])]
Это в основном делает операцию сплайсинга (или assignment to a slice). Он удаляет элементы с 3 по 6 и вставляет вместо них новый список (в этом случае список с одним элементом, который является конкатенацией трех элементов, которые были удалены.)
Для любого типа списка вы могли бы сделать это (не используя оператор +
по всем пунктам, независимо от того, что их типа):
items = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
items[3:6] = [reduce(lambda x, y: x + y, items[3:6])]
Это делает использование функции reduce
с lambda
функции, которая в основном добавляет элементы вместе с помощью оператора +
.
На каком основании следует слияние происходит? – Stephan202
Что такое a, b и т. Д. (Т. Е. Какой тип данных)? Как бы то ни было, ввод текста в интерпретатор Python дает ошибку, потому что это несвязанные имена. –
Вы всегда хотите, чтобы эти элементы в списке были объединены, или вы хотите, чтобы выбрать, где и сколько позже? – tgray