Python – 连续的元素删除字符串
有时,在使用Python时,我们可能会遇到一个问题,即我们有一个字符串,并希望在一次删除一个连续元素后提取所有可能的单词组合。这可以在许多领域中应用。让我们讨论可以执行此任务的某些方式。
方法#1:使用列表理解+列表切片
这是可以执行此任务的方式之一。在此,我们迭代列表的元素并继续使用连续列表切片创建新字符串。
# Python3 code to demonstrate working of
# Consecutive element deletion strings
# Using list comprehension + list slicing
# initializing string
test_str = 'Geeks4Geeks'
# printing original string
print("The original string is : " + str(test_str))
# Consecutive element deletion strings
# Using list comprehension + list slicing
res = [test_str[: idx] + test_str[idx + 1:]
for idx in range(len(test_str))]
# printing result
print("Consecutive Elements removal list : " + str(res))
The original string is : Geeks4Geeks
Consecutive Elements removal list : [‘eeks4Geeks’, ‘Geks4Geeks’, ‘Geks4Geeks’, ‘Gees4Geeks’, ‘Geek4Geeks’, ‘GeeksGeeks’, ‘Geeks4eeks’, ‘Geeks4Geks’, ‘Geeks4Geks’, ‘Geeks4Gees’, ‘Geeks4Geek’]
方法 #2:使用列表理解 + enumerate()
上述方法的组合可用于执行此任务。在此,我们使用 enumerate 提取索引。这提供了更清晰的代码。
# Python3 code to demonstrate working of
# Consecutive element deletion strings
# Using list comprehension + enumerate()
# initializing string
test_str = 'Geeks4Geeks'
# printing original string
print("The original string is : " + str(test_str))
# Consecutive element deletion strings
# Using list comprehension + enumerate()
res = [test_str[:idx] + test_str[idx + 1:]
for idx, _ in enumerate(test_str)]
# printing result
print("Consecutive Elements removal list : " + str(res))
The original string is : Geeks4Geeks
Consecutive Elements removal list : [‘eeks4Geeks’, ‘Geks4Geeks’, ‘Geks4Geeks’, ‘Gees4Geeks’, ‘Geek4Geeks’, ‘GeeksGeeks’, ‘Geeks4eeks’, ‘Geeks4Geks’, ‘Geeks4Geks’, ‘Geeks4Gees’, ‘Geeks4Geek’]