将字符串'abcde'拆分为包含单独元素的列表

时间:2011-10-04 09:47:03

标签: python python-2.7

我有一个像'g fmnc wms bgblr rpylqjyrc gr zw fylb'这样的字符串。我在python中使用.split()函数并获取['g', 'fmnc', 'wms', 'bgblr', 'rpylqjyrc', 'gr', 'zw', 'fylb']

现在我想将每个元素拆分为以下分隔列表:[['g'], [['f'],['m'],['n'],['c']],...]等等。

我的问题是将元素['abcbd']拆分为[['a'],['b'],['c'],['b'],['d']]

3 个答案:

答案 0 :(得分:4)

试试这个:

[list(item) for item in s.split()]

它会给你这个[['g'], ['f', 'm', 'n', 'c'], ...],这不是你要求的,但可能是你的意思。

答案 1 :(得分:2)

>>> sample = 'g fmnc wms bgblr rpylqjyrc gr zw fylb'
>>> [ list(x) for x in sample.split() ]
[['g'], ['f', 'm', 'n', 'c'], ['w', 'm', 's'], ['b', 'g', 'b', 'l', 'r'], ['r', 'p', 'y', 'l', 'q', 'j', 'y', 'r', 'c'], ['g', 'r'], ['z', 'w'], ['f', 'y', 'l', 'b']]

答案 2 :(得分:0)

a='g fmnc wms bgblr rpylqjyrc gr zw fylb'
ml = lambda x: len(x) == 1 and [x] or map(ml, x)
print ml(a.split())

[['g'], [['f'], ['m'], ['n'], ['c']], [['w'], ['m'], ['s']], [['b'], ['g'], ['b'], ['l'], ['r']], [['r'], ['p'], ['y'], ['l'], ['q'], ['j'], ['y'], ['r'], ['c']], [['g'], ['r']], [['z'], ['w']], [['f'], ['y'], ['l'], ['b']]]