Python – 删除元组中第一次出现的 K
有时,在使用Python元组时,我们可能会遇到需要删除元组中第一次出现的元素的问题。这种类型的问题可以应用于许多领域,例如学校编程。让我们讨论可以执行此任务的某些方式。
Input : test_tuple = (5, 6, 5, 4, 7, 8, 4), K = 5
Output : (6, 5, 4, 7, 8, 4)
Input : test_tuple = (5, 6, 8, 4, 7, 8, 4), K = 8
Output : (5, 6, 4, 7, 8, 4)
方法 #1:使用index() + loop + list slicing
上述功能的组合可以用来解决这个问题。在此,我们执行使用 index() 提取第一次出现的 K 的任务,并且列表切片用于在元素删除后重新排序元组。
# Python3 code to demonstrate working of
# Remove first occurrence of K in Tuple
# Using index() + loop + list slicing
# initializing tuples
test_tuple = (5, 6, 4, 4, 7, 8, 4)
# printing original tuple
print("The original tuple : " + str(test_tuple))
# initializing K
K = 4
# Remove first occurrence of K in Tuple
# Using index() + loop + list slicing
try:
idx = test_tuple.index(K)
res = test_tuple[:idx] + test_tuple[idx + 1:]
except ValueError:
res = test_tuple
# printing result
print("Tuple after element removal : " + str(res))
输出 :
The original tuple : (5, 6, 4, 4, 7, 8, 4)
Tuple after element removal : (5, 6, 4, 7, 8, 4)
方法 #2:使用enumerate()
+ 生成器表达式
这是可以执行此任务的方式之一。这提供了一种解决此问题的线性方法。在此,我们使用 enumerate() 执行检查元素和索引的任务。
# Python3 code to demonstrate working of
# Remove first occurrence of K in Tuple
# Using enumerate() + generator expression
# initializing tuples
test_tuple = (5, 6, 4, 4, 7, 8, 4)
# printing original tuple
print("The original tuple : " + str(test_tuple))
# initializing K
K = 4
# Remove first occurrence of K in Tuple
# Using enumerate() + generator expression
res = tuple(ele for idx, ele in enumerate(test_tuple) if idx != test_tuple.index(K))
# printing result
print("Tuple after element removal : " + str(res))
输出 :
The original tuple : (5, 6, 4, 4, 7, 8, 4)
Tuple after element removal : (5, 6, 4, 7, 8, 4)