首页 > 解决方案 > 如何在 Python 中拆分列表元素

问题描述

我在下面有一个清单。我想像这样拆分:

['动画','儿童','喜剧','冒险','儿童','奇幻','喜剧','浪漫','喜剧','戏剧']

clist = ["Animation|Children's|Comedy",

"Adventure|Children's|Fantasy",

'Comedy|Romance',

'Comedy|Drama']

 

for i,x in enumerate(clist):

    if '|' in x:

        clist[i] = x[:x.index('|')]

它返回这个:

['动画','冒险','喜剧','喜剧']

标签: pythonfunction

解决方案


split如果您想产生相同的结果,我建议在理解中使用:

>>> [c.split("|")[0] for c in clist]
['Animation', 'Adventure', 'Comedy', 'Comedy']

如果您想要将所有单独的列表元素而不仅仅是第一个列表元素展平为一个列表,那将只是一个嵌套的理解:

>>> [g for c in clist for g in c.split("|")]
['Animation', "Children's", 'Comedy', 'Adventure', "Children's", 'Fantasy', 'Comedy', 'Romance', 'Comedy', 'Drama']

推荐阅读