你好,我有多个名单。例如:
[u'This/ABC']
[u'is/ABC']
[u'not/ABC']
[u'even/ABC']
[u'close/ABC']
[u'to/ABC']
[u'funny/ABC']
[u'./ABC']
[u'O/ABC']
[u'noez/ABC']
[u'!/ABC']
我需要将此列表加入
This/ABC is/ABC not/ABC even/ABC close/ABC to/ABC funny/ABC ./ABC
O/ABC noez/ABC !/ABC
我该怎么办?是的,中间有空的空间!
答案 0 :(得分:6)
如果将它们全部放在列表中,例如:
a = [
[u'This/ABC'],
[u'is/ABC'],
...
]
您可以通过添加所有列表并在结果上使用常规联接来获得结果:
result = ' '.join(sum(a, []))
几次重读这个问题之后,我想你也想要那条空行。这更像是一样的。添加:
b = [
[u'O/ABC'],
[u'HAI/ABC'],
...
]
lines = [a, b]
result = '\n\n'.join([' '.join(sum(line, [])) for line in lines])
答案 1 :(得分:3)
要加入列表,请尝试模块itertools中的链函数,例如,您可以尝试
import itertools
print ' '.join(itertools.chain(mylist))
如果两个列表之间的新行是故意的,那么在第一个列表的末尾添加'\ n'
import itertools
a = [[u'This/ABZ'], [u'is/ABZ'], ....]
b = [[u'O/ABZ'], [u'O/noez'], ...]
a.append('\n')
print ' '.join(itertools.chain(a + b))
答案 2 :(得分:1)
易:
x = [[u'O/ABC'], [u'noez/ABC'], [u'!/ABC']]
print ' '.join(y[0] for y in x)
答案 3 :(得分:0)
如果您将所有列表放在一个列表中,您可以这样做:
' '.join(e[0] for e in [[u'This/ABC'], [u'is/ABC']])