从python中的长列表中获取每个单词

时间:2015-02-11 14:26:23

标签: python string list

所以我有这个列表如下:

['One', 'Two', 'Three', 'Four']
['Five', 'Six', 'Seven']

所以,包含2个元素的列表(上面的每一行都是列表中的特定元素),lst = [['One', 'Two', 'Three', 'Four'], ['Five', 'Six', 'Seven']]

我的问题是如何将上面的每个单词作为字符串提取,以获得两个字符串数组,如

'One', 'Two', 'Three', 'Four'
'Five', 'Six', 'Seven'

到现在为止,我想把它全部转换为字符串,然后拆分它。这是我的代码:

a = str(list)
c = a.translate(None, '[]\'\'')   #to remove the ' ' and [ ]
c.split() #split here doesn't seem to be doing anything 
print c

结果是一个大字符串“一,二,三,四,五,六,七”

它应该是非常简单的东西,但对于prog来说是新的,似乎无法找到它的角度。有没有人有任何想法?

3 个答案:

答案 0 :(得分:1)

编辑1

我认为你有一个列表列表,并且正在尝试加入内部列表。如果是这种情况,请尝试:

>>> l = [['One', 'Two', 'Three', 'Four'], ['Five', 'Six', 'Seven']]
>>> [', '.join(x) for x in l]
['One, Two, Three, Four', 'Five, Six, Seven']

如果您想要访问列表中的单个元素,例如"Six",您可以使用相应的索引访问它。详细了解them on the docs

>>> l[1][1]
'Six'

原始答案

我认为你正在寻找str.join方法

>>> ', '.join(['One', 'Two', 'Three', 'Four'])
'One, Two, Three, Four'
>>> ', '.join(['Five', 'Six', 'Seven'])
'Five, Six, Seven'

答案 1 :(得分:1)

斯普利特没有做任何事情,因为你没有做任何事情。您需要"c ="才能将拆分结果实际分配给变量。

答案 2 :(得分:0)

像这样使用itertools。基本上,链函数将嵌套列表解压缩到一个迭代器中,然后可以使用标准字符串方法连接它。

your_list = [['One', 'Two', 'Three', 'Four'], ['Five', 'Six', 'Seven']]

import itertools

string = ", ".join(itertools.chain.from_iterable(your_list))
print string