在 Python 中从列表中删除重复的子字符串

pythonserver side programmingprogramming更新于 2025/10/11 6:36:17

有时我们可能需要通过消除其中的重复元素来优化给定的列表。这可以通过使用 Python 标准库中可用的各种方法的组合来实现。

使用 set 和 split

split 方法可用于分离元素以进行重复检查,set 方法用于存储分离列表元素中的唯一元素。

示例

# 初始化列表
listA = [ 'xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']

print("Given list : ",listA)

# 使用 set() 和 split()
res = [set(sub.split('-')) for sub in listA]

# 结果
print("List after duplicate removal : " ,res)

输出

运行上述代码得到以下结果 −

Given list : ['xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']
List after duplicate removal : [{'xy'}, {'pq', 'qr'}, {'xp'}, {'ee', 'dd'}]

使用列表

我们还可以使用列表方法并使用 for 循环,这样在分离后,列表中的唯一元素才会被捕获。

示例

# 初始化列表
listA = [ 'xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']

print("Given list : ",listA)

# 使用列表
res = list({i for sub in listA for i in sub.split('-')})

# 结果
print("List after duplicate removal : " , res)

输出

运行上述代码得到以下结果 −

Given list : ['xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']
List after duplicate removal : ['dd', 'pq', 'ee', 'xp', 'xy', 'qr']

相关文章


有用资源