的Python ::分割字符串
问题描述:
列表中的每个字符串下面对应的两个标签:的Python ::分割字符串
tags = ['Club House Folk Pop ', 'alternative rock electro ']
我想字符串,以创建具有正确类型的子列表分类,如分为:
['Club house', 'Folk Pop']
和['alternative rock', 'electro']
我知道我可以列表与分裂:
for t in tags:
tag = t.split("")
但是这会破坏标签的含义。
有没有一种方法,我可以将它们分割使用一个特定的空间""
,就像这样:
tags = ['Club House Folk Pop ', 'alternative rock electro ']
^ ^
| |
| |
here here
答
假设它始终是第二空间后,您可以使用拆分列表以下内容:
x = [[" ".join(tag.split(" ")[:2]) , " ".join(tag.split(" ")[2:])] for tag in tags]
这样做是遍历列表中的每个项目,然后用空格分隔该项目。接下来将前两个元素和最后两个元素之后的所有元素结合起来。假设您发布的示例数据是整个数据集的代表,这应该起作用。
什么被认为是“正确”的流派?你有可用的有效类型列表吗? –
它总是第二个空间?如果* first *类型是一个单词(例如''electro alternative rock''),那么怎么办?您可能更愿意尝试找到已知流派列表中的匹配项(如果可能)。 – Mac
[在给定字符第n次出现时分割字符串]的可能重复(http://*.com/questions/17060039/split-string-at-nth-occurrence-of-a-given-character) –