python list查找元素_python – 在嵌套列表中查找唯一元素

如果我有一个列表mylist = [“[amn,b,c]”,“[‘a,d,e’]”,“[‘f,b,e’]”],我需要一个列表所有独特元素如[amn,b,c,d,e,f],我该如何实现?

我试过创建一个函数,并尝试了其他一些方法,但无济于事.

功能:

mylist = ["[amn,b,c]", "[‘a,d,e’]", "[‘f,b,e’]"]

def print_list(the_list):

for each_item in the_list:

if isinstance(each_item, list):

print_list(each_item)

else:

print(each_item)

print_list(mylist)

输出:

[amn,b,c]

[‘a,d,e’]

[‘f,b,e’]

其他方法:

mylist = ["[amn,b,c]", "[‘a, d,e’]", "[‘f,b,e’]"]

mylist = str(mylist)

mylist = str(mylist)

mylist = [str(x) for x in (mylist)]

mylist = set(mylist)

i = {' ', "'", ',', '[', ']','‘', '’'}

mylist.difference_update(i)

mylist = list(mylist)

mylist.sort()

mylist

输出:

['a', 'b', 'c', 'd', 'e', 'f', 'm', 'n']

预期成绩:

[amn,b,c,d,e,f]

实际结果:

具有以下功能:

[amn,b,c]

[‘a,d,e’]

[‘f,b,e’]

用另一种方法:

['a', 'b', 'c', 'd', 'e', 'f', 'm', 'n']

最佳答案 您可以使用以下列表推导,其中使用

re.sub来删除不需要的字符,并使用.split获取基础列表,并使用,.

最后,为了从嵌套列表中获取唯一元素,您可以使用itertools.chain展平嵌套列表,并从结果生成一个集合以保留唯一值:

import re

from itertools import chain

set(chain(*[re.sub(r'[\[‘’\"\]]', '', i).split(',') for i in mylist]))

{'a', 'amn', 'b', 'c', 'd', 'e', 'f'}

哪里:

[re.sub(r'[\[‘’\"\]]', '', i).split(',') for i in mylist]

[['amn', 'b', 'c'], ['a', 'd', 'e'], ['f', 'b', 'e']]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值