我正在尝试创建一个函数,将字符串拆分为多个项,然后将这些项进一步拆分为子项,并连续执行此操作,直到参数用完为止。你知道吗
例如,我想先用逗号拆分下面的字符串,然后用行拆分,然后用感叹号拆分,最后用字母b拆分。这就是四个拆分。你知道吗
s = 'abcde,abcde|abcde!abcde,abcde|abcde!abcde,abcde|abcde!abcde,abcde|abcde!abcde,abcde|abcde!abcde,abcde|abcde!abcde,abcde|abcde!abcde,abcde|abcde!'
使用以下方法可以得到所需的结果:
split1 = s.split(',')
split2 = map(lambda i:i.split("|"),split1)
split3 = map(lambda i: map(lambda subitem: subitem.split("!"),i),split2)
split4 = map(lambda i: map(lambda subitem: map(lambda subsubitem: subsubitem.split("b") ,subitem),i),split3)
结果:
[[[['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['a', 'cde']]],
[[['a', 'cde']], [['a', 'cde'], ['']]]]
但是,我想编写一个函数,可以执行整个过程并接受任意数量的参数。也就是说,该函数可以执行上述过程,但只能对感叹号和行进行拆分,也可以对任意数量的项进行拆分。你知道吗
我怎样才能使一个函数完成上述过程,但看起来像这样?你知道吗
func(s,*args)
这样它就可以执行以下操作来实现与上面相同的结果。你知道吗
func(s,",","|","!","b")
对我来说这给了:
基本上和@prpl.mnky.dshwshr文件,但简化了:
相关问题 更多 >
编程相关推荐