Python分类算法问题

比如l1=['a','c','t'],l2=['3412a34214','fgfghc','34242c34534','dsdfgdfcdfgdcccccg']我想把l2... 比如l1 = ['a','c','t'], l2 = ['3412a34214','fgfghc','34242c34534','dsdfgdfcdfgdcccccg']
我想把l2中,包含l1中某个元素的归成一类,比如每一个含有'a'的归成一类,每一个含有'c'的归成一类。。。
怎么写最简便呢?
展开
 我来答
新不起浪
2017-07-24 · 做一名合格的环保卫士
新不起浪
采纳数:502 获赞数:2777

向TA提问 私信TA
展开全部
l1 = ['a', 'c', 't']
l2 = ['3412a34214', 'fgfghc', '34242c34534', 'dsdfgdfcdfgdcccccg']
d = {}
for i in l1:
    l = []
    for j in l2:
        if j.find(i) >= 0:
            l.append(j)
            #print(i,l)
    d[i] = l
    
>>> d
{'a': ['3412a34214'], 'c': ['fgfghc', '34242c34534', 'dsdfgdfcdfgdcccccg'], 't': []}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-07-24
展开全部
# coding=utf-8
# using python27
l1 = ['a', 'c', 't']
l2 = ['3412a34214', 'fgfghc', '34242c34534', 'dsdfgdfcdfgdcccccg']
print [filter(lambda x: i in x, l2) for i in l1]

结果:

[['3412a34214'], ['fgfghc', '34242c34534', 'dsdfgdfcdfgdcccccg'], []]

结果返回一个包含3个一维列表的二维列表, 第一个一维列表为包含‘a’的一类,第二个一维列表为包含‘c’的一类,第三个为包含‘t'的一类

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式