python - 如何在 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('|')]
它返回这个:
['动画','冒险','喜剧','喜剧']
解决方案
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']
推荐阅读
- java - 如果路径中不存在,则尝试/捕获 webdriver
- javascript - 使用 js 记录 url 响应
- python - 在特定超时后将 python 服务器更改为客户端
- python - 如何找到两个熊猫列之间的最佳匹配?
- python - 更新现有行 Postgresql
- html - 在带有边框的元素上使用时转换 scale() Safari 错误
- python - 如何使用 Flask 蓝图创建索引路由
- python-3.x - 尝试添加功能类似于按钮的图像,但弹出此错误,图像“pyimage2”不存在
- sql - 为什么 FileMaker 的 SQL 会给出这个奇怪的结果?
- apache - 如何使子域指向我的应用程序中的路由?