将字符串列表转换为列表列表,列表列表中的每个元素都作为字符串中的每个可迭代字母。全部在一条线上

时间:2015-03-12 19:31:47

标签: python list python-2.7

使用字符串列表x:

x = ['foo', 'bar']

如何在一行中执行以下操作?

y = []
for word in x:
    y.append([n for n in word])
print y

导致:

[['f', 'o', 'o'], ['b', 'a', 'r']]

3 个答案:

答案 0 :(得分:4)

使用list和简单的列表理解:

>>> x = ['foo', 'bar']
>>> y = [list(word) for word in x]
>>> y
[['f', 'o', 'o'], ['b', 'a', 'r']]

或将maplist一起使用:

>>> y = map(list, x)
>>> y
[['f', 'o', 'o'], ['b', 'a', 'r']]

答案 1 :(得分:3)

您可以从列表解析中的每个字符串创建list

>>> x = ['foo', 'bar']
>>> [list(i) for i in x]
[['f', 'o', 'o'], ['b', 'a', 'r']]

答案 2 :(得分:3)

>>> map(list, ['foo', 'bar'])
[['f', 'o', 'o'], ['b', 'a', 'r']]