Skip to main content
 首页 » 编程设计

python:以更好的方式编写代码

2025年05月04日12emanlee

这是一个示例代码

    >>> array = [('The', 'Blue'),('men','Green'),('his','Red'),('beautiful','Yellow')] 
    >>> z = [y for (x,y) in array] 
    >>> l=[(z[i],z[i+1]) for i in range (len(z)-1)] 
    >>> l 
    >>> [('Blue', 'Green'), ('Green', 'Red'), ('Red', 'Yellow')] 

有没有其他的写法?说,也许作为一个类轮?上面的代码更适合通过控制台运行。

谢谢大家

请您参考如下方法:

把所有的答案放在一起,这个单行代码就可以了:

a = [('The', 'Blue'),('men','Green'),('his','Red'),('beautiful','Yellow')] 
 
l = [(i[1],j[1]) for i,j in zip(a, a[1:])] 

结果:

>>> print(l) 
>>> [('Blue', 'Green'), ('Green', 'Red'), ('Red', 'Yellow')] 

只是为了解释,zip内置函数采用两个或多个可迭代对象,并为每个可迭代对象生成一个包含当前项的元组,直到到达具有最小长度的可迭代对象的末尾。