0

我想做一些事情:

x = [" ","cats"]
def function(a):
     a.split([any of the elements in x])
     return a

我如何让 Python 接受 x 中的任何元素作为参数(因此它拆分为空格和猫)?

编辑:对不起,我可能应该指定:a 应该是一个列表

(我真的,真的很抱歉没有说清楚。)

输入 - a = "我非常喜欢猫" 预期输出 - ["I" , "love","so" , "much"]

基本上,我希望它为“”然后为“猫”执行拆分功能。

4

3 回答 3

0
s = "I love cats so much"
x = [" ", "cats"]

for delim in x:
    s = s.replace(delim, " ")

print s.split()

您正在创建一个新列表,其中没有任何猫。

于 2015-04-27T01:50:09.080 回答
0
def split_many(s, *words):
    return filter(bool, reduce(lambda s, word: 
            s.replace(word, words[0]), words, s).split(words[0]))

print split_many('I love cats so much', 'cats', ' ')
于 2015-04-27T02:03:06.897 回答
0

这是一种方法。不是最易读的方法,但可以完成工作。

import re
x = [" ", "cats"]
pattern = "|".join(x)

re.split(pattern, "I love cats very much")
于 2015-04-27T01:55:07.047 回答