Skip to main content
 首页 » 编程设计

python之合并列表中的一些元素

2025年05月04日16emanlee

给定这个嵌套列表:

nested_lst = [u'Tom', ['50', ' 1.85', ' 112', ' 60', ' 1.90', ' 115']] 

我想加入 nested_lst[1] 的每 3 个元素以获得以下结果:

nested_lst = [u'Tom', [('50', ' 1.85', ' 112'), (' 60', ' 1.90', ' 115')]] 

请您参考如下方法:

使用列表理解:

>>> nested_lst = [u'Tom', ['50', ' 1.85', ' 112', ' 60', ' 1.90', ' 115']] 
>>> x=nested_lst[1] 
 
>>> nested_lst[1]=[ tuple(x[i:i+3]) for i in xrange(0,len(x),3) ] 
>>> nested_lst 
[u'Tom', [('50', ' 1.85', ' 112'), (' 60', ' 1.90', ' 115')]] 

或者你也可以使用 itertools.islice:

>>> from itertools import islice 
>>> nested_lst = [u'Tom', ['50', ' 1.85', ' 112', ' 60', ' 1.90', ' 115']] 
>>> x=nested_lst[1] 
>>> it=iter(x) 
 
>>> nested_lst[1]=[tuple( islice(it,3) ) for i in xrange(len(x)/3)] 
>>> nested_lst 
[u'Tom', [('50', ' 1.85', ' 112'), (' 60', ' 1.90', ' 115')]]