Python,为列表的每个元素添加不同的特征

Python, adding a different characteristic to each element of a list

我目前正在开发生产优化工具。有需要在机器上生产的工作。

我想为机器添加工作速度,以便它们可以根据处理作业的机器以不同的速度完成作业。

这是我为机器使用的 class 和列表:

number_of_machines = 3

class Machine(object):
    def __init__(self, workload, workspeed): 
        self.workload = workload
        self.workspeed = workspeed

all_machines =[] 
for i in range(number_of_machines):
    all_machines.append(Machine(0)) #puts the workload of all machines to 0 before the loop starts

我想为列表“all_machines”中的每个对象添加不同的浮点数(例如 0.5、1.0、1.5)“

非常感谢您的帮助!

提前致谢!

如果您希望 workload 始终具有初始值 0,只需在 class 中定义它并从 __init__

中删除参数
class Machine(object):

    workload = 0

    def __init__(self, workspeed):
        self.workspeed = workspeed

如果你想保留 __init__ 这两个参数你可以使用默认值(注意参数的顺序是相反的)

class Machine(object):

    def __init__(self, workspeed, workload=0):
        self.workload = workload
        self.workspeed = workspeed

对于两个选项

all_machines = [Machine(0.5), Machine(1.0), Machine(1.5)]

for machine in all_machines:
    print(f'{machine.workload} {machine.workspeed}')

# output:
# 0, 0.5
# 0, 1.0
# 0, 1.5