首页 > 解决方案 > 如何访问 Python 列表中每个循环的三个项目?

问题描述

我有一个列表,其中每 3 个元素应该定义一个对象。我想知道 Python 中是否有一个函数可以一次迭代三个列表中的项目,或者以某种方式通过列表理解(我做不到)来提高效率,因为实际列表非常大的。

我所做的是将列表的长度除以 3 以在其中迭代的次数相当于其元素总数的三分之一 (1/3),从而访问这三个元素并增加其三个索引(对于下一次迭代)在每个循环中。

我的代码有效,我只是想避免重新发明轮子,以防万一有更好的东西。

data = ["John", "Doe", 30, "Jane", "Doe", 28] # Example data

persons=[] # Processed data

class Person:
    def __init__(self, name, lastname, age):
        self.name = name
        self.lastname = lastname
        self.age = age

x, y, z = 0, 1, 2 # Index
for i in range( int(len(data) / 3) ): # Iterates every 3 elements
    persons.append( Person(data[x], data[y], data[z]) ) # Create objects
    x+=3; y+=3; z+=3 # Index increment

标签: pythonloopslist-comprehension

解决方案


推荐阅读