从 Python 列表中去除重复子串
有时,我们可能需要通过消除列表中的重复元素来优化给定的列表。这可以通过使用 Python 标准库中提供的多种方法组合来实现。
带 set 和 split
split 方法可用于隔离用于重复检查的元素,set 方法用于存储分离列表元素中的唯一元素。
示例
# initializing list listA = [ 'xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee'] print("Given list : ",listA) # using set() and split() res = [set(sub.split('-')) for sub in listA] # Result 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 循环配合使用,以便仅在分离后从列表中捕获唯一元素。
示例
# initializing list listA = [ 'xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee'] print("Given list : ",listA) # using list res = list({i for sub in listA for i in sub.split('-')}) # Result 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']
广告