Skip to main content
 首页 » 编程设计

python之从 Python 列表中 2 乘 2 地获取项目

2025年05月04日14飞鱼

从列表中 2 乘 2 获取项目的最优雅方法是什么?

from: 
my_list = ['I', 'swear', 'I', 'googled', 'first'] 
 
to: 
res_list = ['I swear', 'swear I', 'I googled', 'googled first'] 

请您参考如下方法:

def window(seq, n=2): 
    """ 
    Returns a sliding window (of width n) over data from the sequence 
    s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... 
    """ 
    for i in xrange(len(seq)-n+1): 
        yield tuple(seq[i:i+n]) 
 
my_list = ['I', 'swear', 'I', 'googled', 'first'] 
res_list = [' '.join(group) for group in window(my_list, 2)] 
print(res_list) 
# ['I swear', 'swear I', 'I googled', 'googled first']